|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
public interface MBeanInstantiator
Contains methods for instantiating objects, finding the class given its name and using different class loaders, deserializing objects in the context of a given class loader.
Method Summary | |
---|---|
Attribute |
checkTransferAttribute(ClassLoader target,
Attribute attribute)
Check whether the attribute value needs to be transferred in the destination class loader. |
AttributeList |
checkTransferAttributeList(ClassLoader target,
AttributeList attributes)
Check whether the attribute values needs to be transferred in the destination class loader. |
Object |
checkTransferObject(ClassLoader targetLoader,
Object value)
Check whether the given value need to be transferred into the target class loader. |
Object[] |
checkTransferParameters(ClassLoader target,
Object[] params)
Check whether the given parameters need to be transferred into the target class loader. |
ObjectInputStream |
deserialize(ObjectName name,
byte[] data)
De-serializes a byte array in the context of the class loader of an MBean. |
ObjectInputStream |
deserialize(String className,
byte[] data)
De-serializes a byte array in the context of a given MBean class loader. |
ObjectInputStream |
deserialize(String className,
ObjectName loaderName,
byte[] data,
ClassLoader loader)
De-serializes a byte array in the context of a given MBean class loader. |
Class |
findClass(String className,
ClassLoader loader)
Gets the class for the specified class name using the MBean Interceptor's classloader |
Class |
findClass(String className,
ObjectName loaderName)
Gets the class for the specified class name using the specified class loader |
Class |
findClassWithDefaultLoaderRepository(String className)
Loads the class with the specified name using this object's Default Loader Repository. |
Class[] |
findSignatureClasses(String[] signature,
ClassLoader loader)
Return an array of Class corresponding to the given signature, using the specified class loader. |
ModifiableClassLoaderRepository |
getClassLoaderRepository()
Return the Default Loader Repository used by this instantiator object. |
Object |
instantiate(Class theClass)
Instantiates an object given its class, using its empty constructor. |
Object |
instantiate(Class theClass,
Object[] params,
String[] signature,
ClassLoader loader)
Instantiates an object given its class, the parameters and signature of its constructor The call returns a reference to the newly created object. |
Object |
instantiate(String className)
Instantiates an object using the list of all class loaders registered in the MBean Interceptor (using its ClassLoaderRepository ). |
Object |
instantiate(String className,
Object[] params,
String[] signature,
ClassLoader loader)
Instantiates an object using the list of all class loaders registered in the MBean server (using its ClassLoaderRepository ). |
Object |
instantiate(String className,
ObjectName loaderName,
ClassLoader loader)
Instantiates an object using the class Loader specified by its ObjectName . |
Object |
instantiate(String className,
ObjectName loaderName,
Object[] params,
String[] signature,
ClassLoader loader)
Instantiates an object. |
void |
testCreation(Class c)
This methods tests if the MBean class makes it possible to instantiate an MBean of this class in the MBeanServer. |
Object |
transferObject(Object obj,
ClassLoader loader)
Transfer a given object into the context of a different class loader |
Method Detail |
---|
void testCreation(Class c) throws NotCompliantMBeanException
NotCompliantMBeanException
Class findClassWithDefaultLoaderRepository(String className) throws ReflectionException
ReflectionException
ModifiableClassLoaderRepository getClassLoaderRepository()
Class findClass(String className, ClassLoader loader) throws ReflectionException
ReflectionException
Class findClass(String className, ObjectName loaderName) throws ReflectionException, InstanceNotFoundException
ReflectionException
InstanceNotFoundException
Class[] findSignatureClasses(String[] signature, ClassLoader loader) throws ReflectionException
ReflectionException
AttributeList checkTransferAttributeList(ClassLoader target, AttributeList attributes)
The method checks if the context of the operation is ok, i.e if all the attribute values are coming from the same class loader. If not, the method will replace the attributes that need to be transferred by a new attribute object transferred in the target class loader.
target
- the target class loader.attributes
- the attribute list to be checked.
Attribute checkTransferAttribute(ClassLoader target, Attribute attribute)
The method checks if the context of the operation is ok, i.e if all the attribute values are coming from the same class loader. If not, the method will replace the attributes that need to be transferred by a new attribute object transferred in the target class loader.
target
- the target class loader.attribute
- attribute to be checked.
Object[] checkTransferParameters(ClassLoader target, Object[] params)
The method checks if the context of the operation is ok, i.e if all the objects are coming from the same class loader. If not, the method will replace the parameters that need to be transferred by a new object transferred in the target class loader.
target
- the target class loader.params
- parameters to be checked.
Object checkTransferObject(ClassLoader targetLoader, Object value)
The method checks if the context of the operation is ok, i.e if the value is coming from the target class loader. If not, the method will return a new object transferred in the target class loader.
targetLoader
- the target class loader.value
- object to be checked.
ObjectInputStream deserialize(ObjectName name, byte[] data) throws InstanceNotFoundException, OperationsException
name
- The name of the MBean whose class loader should be used for
the de-serialization.data
- The byte array to be de-sererialized.
InstanceNotFoundException
- The MBean specified is not found.
OperationsException
- Any of the usual Input/Output related
exceptions.ObjectInputStream deserialize(String className, byte[] data) throws OperationsException, ReflectionException
className
- The name of the class whose class loader should
be used for the de-serialization.data
- The byte array to be de-sererialized.
OperationsException
- Any of the usual Input/Output related
exceptions.
ReflectionException
- The specified class could not be loaded
by the default loader repositoryObjectInputStream deserialize(String className, ObjectName loaderName, byte[] data, ClassLoader loader) throws InstanceNotFoundException, OperationsException, ReflectionException
The class loader is the one that loaded the class with name "className".
The name of the class loader to be used for loading the specified class is specified. If null, a default one has to be provided (for a MBean Server, its own class loader will be used).
className
- The name of the class whose class loader should be
used for the de-serialization.loaderName
- The name of the class loader to be used for loading
the specified class. If null, a default one has to be provided (for a
MBean Server, its own class loader will be used).data
- The byte array to be de-sererialized.loader
- default class loader.
InstanceNotFoundException
- The specified class loader MBean is
not found.
OperationsException
- Any of the usual Input/Output related
exceptions.
ReflectionException
- The specified class could not be loaded
by the specified class loader.Object instantiate(String className) throws ReflectionException, MBeanException
ClassLoaderRepository
).
The object's class should have a public constructor.
It returns a reference to the newly created object.
The newly created object is not registered in the MBean Interceptor.
className
- The class name of the object to be instantiated.
ReflectionException
- Wraps a
java.lang.ClassNotFoundException
or the
java.lang.Exception
that occurred when trying to invoke the
object's constructor.
MBeanException
- The constructor of the object has thrown an
exception
RuntimeOperationsException
- Wraps a
java.lang.IllegalArgumentException
: the className passed in
parameter is null.Object instantiate(String className, ObjectName loaderName, ClassLoader loader) throws ReflectionException, MBeanException, InstanceNotFoundException
ObjectName
.
If the loader name is null, a default one has to be provided (for a MBean Server, the ClassLoader that loaded it will be used).
The object's class should have a public constructor.
It returns a reference to the newly created object.
The newly created object is not registered in the MBean Interceptor.
className
- The class name of the MBean to be instantiated.loaderName
- The object name of the class loader to be used.
ReflectionException
- Wraps a
java.lang.ClassNotFoundException
or the
java.lang.Exception
that occurred when trying to invoke the
object's constructor.
MBeanException
- The constructor of the object has thrown an
exception.
InstanceNotFoundException
- The specified class loader is not
registered in the MBeanInterceptor.
RuntimeOperationsException
- Wraps a
java.lang.IllegalArgumentException
: the className passed in
parameter is null.Object instantiate(String className, Object[] params, String[] signature, ClassLoader loader) throws ReflectionException, MBeanException
ClassLoaderRepository
).
The object's class should have a public constructor.
The call returns a reference to the newly created object.
The newly created object is not registered in the MBean Interceptor.
className
- The class name of the object to be instantiated.params
- An array containing the parameters of the constructor to
be invoked.signature
- An array containing the signature of the constructor to
be invoked.
ReflectionException
- Wraps a
java.lang.ClassNotFoundException
or the
java.lang.Exception
that occurred when trying to invoke the
object's constructor.
MBeanException
- The constructor of the object has thrown an
exception
RuntimeOperationsException
- Wraps a
java.lang.IllegalArgumentException
: the className passed in
parameter is null.Object instantiate(String className, ObjectName loaderName, Object[] params, String[] signature, ClassLoader loader) throws ReflectionException, MBeanException, InstanceNotFoundException
If the object name of the loader is null, a default has to be provided (for example, for a MBean Server, the ClassLoader that loaded it will be used).
The object's class should have a public constructor.
The call returns a reference to the newly created object.
The newly created object is not registered in the MBean server.
className
- The class name of the object to be instantiated.params
- An array containing the parameters of the constructor to
be invoked.signature
- An array containing the signature of the constructor to
be invoked.loaderName
- The object name of the class loader to be used.
ReflectionException
- Wraps a
java.lang.ClassNotFoundException
or the
java.lang.Exception
that occurred when trying to invoke the
object's constructor.
MBeanException
- The constructor of the object has thrown an
exception
InstanceNotFoundException
- The specified class loader is not
registered in the MBean Interceptor.
RuntimeOperationsException
- Wraps a
java.lang.IllegalArgumentException
: the className passed in
parameter is null.Object instantiate(Class theClass) throws ReflectionException, MBeanException
ReflectionException
MBeanException
Object instantiate(Class theClass, Object[] params, String[] signature, ClassLoader loader) throws ReflectionException, MBeanException
ReflectionException
MBeanException
Object transferObject(Object obj, ClassLoader loader)
|
Open Source build 02 opendmk-1.0-b02 2007.10.01_19:17:46_MEST |
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |