org.jibx.runtime
Class BindingDirectory

java.lang.Object
  extended by org.jibx.runtime.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
static java.lang.String BINDINGFACTORY_PREFIX
          Prefix of binding factory name.
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.
 
Constructor Summary
BindingDirectory()
           
 
Method Summary
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

BINDINGFACTORY_PREFIX

public static final java.lang.String BINDINGFACTORY_PREFIX
Prefix of binding factory name.

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


Project Web Site