|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object org.objectweb.fractal.juliak.BootstrapComponentImpl
public class BootstrapComponentImpl
Juliak bootstrap component implementation (aka content class). This component provides three interfaces:
type-factory
of type TypeFactory
generic-factory
of type GenericFactory
loader
of type Loader
Field Summary |
---|
Fields inherited from interface org.objectweb.fractal.api.type.TypeFactory |
---|
CLIENT, COLLECTION, MANDATORY, OPTIONAL, SERVER, SINGLE |
Constructor Summary | |
---|---|
BootstrapComponentImpl()
|
Method Summary | |
---|---|
InterfaceType |
createFcItfType(String name,
String signature,
boolean isClient,
boolean isOptional,
boolean isCollection)
|
ComponentType |
createFcType(InterfaceType[] interfaceTypes)
|
Tree |
evalTree(Tree tree,
Map context)
Evaluates the given tree in the given context. |
void |
init(Map context)
Initializes this loader. |
Class |
loadClass(String className,
Object loader)
Loads the class whose name is given. |
Class |
loadClass(Tree classDescriptor,
Object loader)
Loads or generates the class whose descriptor is given. |
Tree |
loadTree(String name)
Loads the tree whose name is given. |
Component |
newFcInstance(Type type,
Object controllerDesc,
Object contentDesc)
|
Object |
newObject(Tree objectDescriptor,
Object loader)
Creates and returns the object whose description is given. |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
---|
public BootstrapComponentImpl()
Method Detail |
---|
public InterfaceType createFcItfType(String name, String signature, boolean isClient, boolean isOptional, boolean isCollection) throws InstantiationException
createFcItfType
in interface TypeFactory
InstantiationException
public ComponentType createFcType(InterfaceType[] interfaceTypes) throws InstantiationException
createFcType
in interface TypeFactory
InstantiationException
public Component newFcInstance(Type type, Object controllerDesc, Object contentDesc) throws InstantiationException
newFcInstance
in interface GenericFactory
InstantiationException
public Tree evalTree(Tree tree, Map context) throws Exception
Loader
evalTree
in interface Loader
tree
- the tree to be evaluated.context
- a map associating names to trees.
Exception
- if a name is not found in the given context. The
exception's detail is equal to this name.public void init(Map context) throws Exception
Loader
init
in interface Loader
context
- the initialization arguments.
Exception
- if the initialization fails.public Class loadClass(String className, Object loader) throws ClassNotFoundException
Loader
loadClass
in interface Loader
className
- the fully qualified name of the class to be returned.loader
- an optional class loader to load auxiliary classes.
ClassNotFoundException
- if the specified class is not found.public Class loadClass(Tree classDescriptor, Object loader) throws ClassNotFoundException
Loader
loadClass
in interface Loader
classDescriptor
- the descriptor of the class to be loaded or
dynamically generated. This descriptor must be either of the form
"className", or of the form "(objectDescriptor arg1 ... argN)". In the
first case, "className" must be the fully qualified name of a class.
In the second case, "objectDescriptor" must be a valid object
descriptor (see newObject
), describing an object
that implements the ClassGenerator
interface.
"arg1" ... "argN" can be arbitrary trees.loader
- an optional class loader to load auxiliary classes.
newObject
method, and its generateClass
method is used to generate a class (this method is
called with classDescriptor as second argument), which is
finally returned.
ClassNotFoundException
- is the specified class cannot be loaded or
dynamically generated.public Tree loadTree(String name) throws Exception
Loader
loadTree
in interface Loader
name
- a tree name.
Exception
- if the tree is not found or cannot be loaded.public Object newObject(Tree objectDescriptor, Object loader) throws Exception
Loader
newObject
in interface Loader
objectDescriptor
- the descriptor of the object to be created. This
descriptor must be either of the form "className", or of the form
"(classDescriptor arg1 ... argN)". In the first case, "className"
must be the fully qualified name of a class. In the second case,
"classDescriptor" must be a valid class descriptor (see loadClass
). "arg1" ... "argN" can be arbitrary
trees.loader
- an optional class loader to load auxiliary classes.
loadClass
method, and a new
instance of this class is created (this class must have a default
public constructor). Then, if the arguments "arg1 ... argN" are not
empty, the initialize
method is used
to initialize the previous instance (in this case, the
"classDescriptor" class must implement the Initializable
interface; the initialize
method is
called with (arg1 ... argN) as parameter). Finally the
previously created object is returned.
Exception
- if the specified object cannot be created.
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |