Class BindingDirectory

java.lang.Object
org.jibx.runtime.BindingDirectory

public abstract class BindingDirectory extends Object
Abstract class with static methods to find the binding factory corresponding to a binding name.
Author:
Dennis M. Sosnoski
  • Field Details

    • BINDINGLIST_NAME

      public static final String BINDINGLIST_NAME
      Name of String[] field giving binding factory name list.
      See Also:
    • GENERATE_PREFIX

      public static final String GENERATE_PREFIX
      Prefix used in all code generation for methods and classes.
      See Also:
    • BINDINGFACTORY_SUFFIX

      public static final String BINDINGFACTORY_SUFFIX
      Suffix of binding factory name.
      See Also:
    • FACTORY_INSTMETHOD

      public static final String FACTORY_INSTMETHOD
      Binding factory method to get instance of factory.
      See Also:
    • EMPTY_ARGS

      public static final Class[] EMPTY_ARGS
      Empty argument list.
  • Constructor Details

    • BindingDirectory

      public BindingDirectory()
  • Method Details

    • getBindingList

      private static String getBindingList(Class clas) throws JiBXException
      Get list of bindings for class. This just accesses the static variable added to each class with a top-level mapping.
      Parameters:
      clas - class with top-level mapping in binding
      Returns:
      list of bindings defined for that class (as a text string)
      Throws:
      JiBXException - on error accessing binding information
    • getFactoryFromName

      private static IBindingFactory getFactoryFromName(String name, Class clas, ClassLoader loader) throws JiBXException
      Get instance of factory. Loads the factory class using the classloader for the supplied class, then calls the get instance method of the factory class.
      Parameters:
      name - fully qualified name of factory class
      clas - class providing factory
      loader - class loader to be used for loading factory
      Returns:
      binding factory instance
      Throws:
      JiBXException - on error loading or accessing factory
    • getFactory

      public static IBindingFactory getFactory(String name, Class clas, ClassLoader loader) throws JiBXException
      Get instance of binding factory. Finds the binding factory for the named binding on the target class, then loads that factory and returns an instance.
      Parameters:
      name - binding name
      clas - target class for binding
      loader - class loader to be used for loading factory
      Returns:
      binding factory instance
      Throws:
      JiBXException - on any error in finding or accessing factory
    • getFactory

      public static IBindingFactory getFactory(String name, Class clas) throws JiBXException
      Get instance of binding factory. Finds the binding factory for the named binding on the target class, then loads that factory and returns an instance.
      Parameters:
      name - binding name
      clas - target class for binding
      Returns:
      binding factory instance
      Throws:
      JiBXException - on any error in finding or accessing factory
    • getFactory

      public static IBindingFactory getFactory(Class clas) throws JiBXException
      Get instance of binding factory. Finds the binding factory for the target class, then loads that factory and returns an instance. This method can only be used with target classes that are mapped in only one binding.
      Parameters:
      clas - target class for binding
      Returns:
      binding factory instance
      Throws:
      JiBXException - on any error in finding or accessing factory
    • getFactory

      public static IBindingFactory getFactory(String bname, String pack, ClassLoader loader) throws JiBXException
      Get instance of binding factory. Finds the binding factory for the named binding on the target class, then loads that factory and returns an instance.
      Parameters:
      bname - binding name
      pack - target package for binding
      loader - class loader to be used for loading factory
      Returns:
      binding factory instance
      Throws:
      JiBXException - on any error in finding or accessing factory
    • getFactory

      public static IBindingFactory getFactory(String bname, String pack) throws JiBXException
      Get instance of binding factory. Finds the binding factory for the named binding compiled to the specified package, then loads that factory and returns an instance.
      Parameters:
      bname - binding name
      pack - target package for binding
      Returns:
      binding factory instance
      Throws:
      JiBXException - on any error in finding or accessing factory
    • convertName

      public static String convertName(String name)
      Generate binding name. This takes a base name (such as a file name with extension stripped off) and converts it to legal form by substituting '_' characters for illegal characters in the base name.
      Parameters:
      name - base binding name
      Returns:
      converted binding name