Package org.apache.naming.factory
Class FactoryBase
java.lang.Object
org.apache.naming.factory.FactoryBase
- All Implemented Interfaces:
ObjectFactory
- Direct Known Subclasses:
EjbFactory
,ResourceEnvFactory
,ResourceFactory
,TransactionFactory
Abstract base class that provides common functionality required by
sub-classes. This class exists primarily to reduce code duplication.
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionprotected abstract ObjectFactory
If a default factory is available for the given reference type, create the default factory.protected abstract Object
If this reference is a link to another JNDI object, obtain that object.final Object
getObjectInstance
(Object obj, Name name, Context nameCtx, Hashtable<?, ?> environment) Creates a new object instance.protected abstract boolean
Determines if this factory supports processing the provided reference object.
-
Constructor Details
-
FactoryBase
public FactoryBase()
-
-
Method Details
-
getObjectInstance
public final Object getObjectInstance(Object obj, Name name, Context nameCtx, Hashtable<?, ?> environment) throws ExceptionCreates a new object instance.- Specified by:
getObjectInstance
in interfaceObjectFactory
- Parameters:
obj
- The reference object describing the object to create- Throws:
Exception
-
isReferenceTypeSupported
Determines if this factory supports processing the provided reference object.- Parameters:
obj
- The object to be processed- Returns:
true
if this factory can process the object, otherwisefalse
-
getDefaultFactory
If a default factory is available for the given reference type, create the default factory.- Parameters:
ref
- The reference object to be processed- Returns:
- The default factory for the given reference object or
null
if no default factory exists. - Throws:
NamingException
- If the default factory cannot be created
-
getLinked
If this reference is a link to another JNDI object, obtain that object.- Parameters:
ref
- The reference object to be processed- Returns:
- The linked object or
null
if linked objects are not supported by or not configured for this reference object - Throws:
NamingException
- Error accessing linked object
-