Class BindingDirectory


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

      Fields 
      Modifier and Type Field Description
      static java.lang.String BINDINGFACTORY_SUFFIX
      Suffix of binding factory name.
      static java.lang.String BINDINGLIST_NAME
      Name of String[] field giving binding factory name list.
      static java.lang.Class[] EMPTY_ARGS
      Empty argument list.
      static java.lang.String FACTORY_INSTMETHOD
      Binding factory method to get instance of factory.
      static java.lang.String GENERATE_PREFIX
      Prefix used in all code generation for methods and classes.
    • Method Summary

      All Methods Static Methods Concrete Methods 
      Modifier and Type Method Description
      static java.lang.String convertName​(java.lang.String name)
      Generate binding name.
      private static java.lang.String getBindingList​(java.lang.Class clas)
      Get list of bindings for class.
      static IBindingFactory getFactory​(java.lang.Class clas)
      Get instance of binding factory.
      static IBindingFactory getFactory​(java.lang.String name, java.lang.Class clas)
      Get instance of binding factory.
      static IBindingFactory getFactory​(java.lang.String name, java.lang.Class clas, java.lang.ClassLoader loader)
      Get instance of binding factory.
      static IBindingFactory getFactory​(java.lang.String bname, java.lang.String pack)
      Get instance of binding factory.
      static IBindingFactory getFactory​(java.lang.String bname, java.lang.String pack, java.lang.ClassLoader loader)
      Get instance of binding factory.
      private static IBindingFactory getFactoryFromName​(java.lang.String name, java.lang.Class clas, java.lang.ClassLoader loader)
      Get instance of factory.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Field Detail

      • BINDINGLIST_NAME

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

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

        public static final java.lang.String BINDINGFACTORY_SUFFIX
        Suffix of binding factory name.
        See Also:
        Constant Field Values
      • FACTORY_INSTMETHOD

        public static final java.lang.String FACTORY_INSTMETHOD
        Binding factory method to get instance of factory.
        See Also:
        Constant Field Values
      • EMPTY_ARGS

        public static final java.lang.Class[] EMPTY_ARGS
        Empty argument list.
    • Constructor Detail

      • BindingDirectory

        public BindingDirectory()
    • Method Detail

      • getBindingList

        private static java.lang.String getBindingList​(java.lang.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​(java.lang.String name,
                                                          java.lang.Class clas,
                                                          java.lang.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​(java.lang.String name,
                                                 java.lang.Class clas,
                                                 java.lang.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​(java.lang.String name,
                                                 java.lang.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​(java.lang.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​(java.lang.String bname,
                                                 java.lang.String pack,
                                                 java.lang.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​(java.lang.String bname,
                                                 java.lang.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 java.lang.String convertName​(java.lang.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