org.jboss.managed.api.factory
Class ManagedObjectFactory

java.lang.Object
  extended by org.jboss.managed.api.factory.ManagedObjectFactory
Direct Known Subclasses:
AbstractManagedObjectFactory

public abstract class ManagedObjectFactory
extends Object

ManagedObjectFactory.

Version:
$Revision: 1.1 $
Author:
Adrian Brock

Constructor Summary
ManagedObjectFactory()
           
 
Method Summary
<X> void
addInstanceClassFactory(InstanceClassFactory<X> factory)
          Add an InstanceClassFactory.
<T> ManagedObject
createManagedObject(Class<T> clazz)
          Create a shell managed object from the given class
abstract
<T> ManagedObject
createManagedObject(Class<T> clazz, org.jboss.metadata.spi.MetaData metaData)
           
static ManagedObjectFactory getInstance()
          Get the managed object factory instance
<T> InstanceClassFactory<T>
getInstanceClassFactory(Class<T> clazz)
          Get the InstanceClassFactory for an instance type.
abstract
<T> InstanceClassFactory<T>
getInstanceClassFactory(Class<T> clazz, org.jboss.metadata.spi.MetaData metaData)
           
abstract  ManagedObject initManagedObject(Object instance, Class<?> instanceType, org.jboss.metadata.spi.MetaData metaData, String name, String nameType)
          Create a managed object from the given object
 ManagedObject initManagedObject(Object instance, Class<?> instanceType, String name, String nameType)
           
 ManagedObject initManagedObject(Object instance, org.jboss.metadata.spi.MetaData metaData)
           
 ManagedObject initManagedObject(Object instance, String name, String nameType)
          Create a managed object from the given object
<X> void
removeInstanceClassFactory(InstanceClassFactory<X> factory)
          Remove an InstanceClassFactory.
abstract  void setBuilder(Class<?> clazz, ManagedObjectBuilder builder)
          Set a managed object builder
abstract
<X> void
setInstanceClassFactory(Class<X> clazz, InstanceClassFactory<X> factory)
          Set the InstanceClassFactory for an instance type.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ManagedObjectFactory

public ManagedObjectFactory()
Method Detail

getInstance

public static ManagedObjectFactory getInstance()
Get the managed object factory instance

Returns:
the instance

initManagedObject

public ManagedObject initManagedObject(Object instance,
                                       String name,
                                       String nameType)
Create a managed object from the given object

Parameters:
instance - - the object to build the ManagedObject from
name - - the name of the managed object. If null, the name will be derived from the object annotations or attachment name.
nameType - - the name of the managed object. If null, the name will be derived from the object annotations or default to "".
Returns:
the managed object
Throws:
IllegalArgumentException - for a null object
See Also:
ManagementObjectID

initManagedObject

public ManagedObject initManagedObject(Object instance,
                                       Class<?> instanceType,
                                       String name,
                                       String nameType)

initManagedObject

public ManagedObject initManagedObject(Object instance,
                                       org.jboss.metadata.spi.MetaData metaData)

initManagedObject

public abstract ManagedObject initManagedObject(Object instance,
                                                Class<?> instanceType,
                                                org.jboss.metadata.spi.MetaData metaData,
                                                String name,
                                                String nameType)
Create a managed object from the given object

Parameters:
instance - - the object to build the ManagedObject from
instanceType - - the optional type to determine InstanceClassFactory registration from. If not specified instance.getClass() is used.
metaData - - the optional metadata repository accessor used to query for management annotation overrides/additions to the clazz
name - - the name of the managed object. If null, the name will be derived from the object annotations or attachment name.
nameType - - the name of the managed object. If null, the name will be derived from the object annotations or default to "".
Returns:
the managed object
See Also:
ManagementObjectID

createManagedObject

public <T> ManagedObject createManagedObject(Class<T> clazz)
Create a shell managed object from the given class

Type Parameters:
T - the class
Parameters:
clazz - the class
Returns:
the managed object
Throws:
IllegalArgumentException - for a null class

createManagedObject

public abstract <T> ManagedObject createManagedObject(Class<T> clazz,
                                                      org.jboss.metadata.spi.MetaData metaData)

setBuilder

public abstract void setBuilder(Class<?> clazz,
                                ManagedObjectBuilder builder)
Set a managed object builder

Parameters:
clazz - the class
builder - the builder (null to remove the builder)

setInstanceClassFactory

public abstract <X> void setInstanceClassFactory(Class<X> clazz,
                                                 InstanceClassFactory<X> factory)
Set the InstanceClassFactory for an instance type.

Type Parameters:
T - the class type
Parameters:
clazz - the class
factory - - the factory used to obtain the class to scan for management annotations.

addInstanceClassFactory

public <X> void addInstanceClassFactory(InstanceClassFactory<X> factory)
Add an InstanceClassFactory. Calls setInstanceClassFactory(factory.getType(), factory);.

Parameters:
factory - - the factory used to obtain the class to scan for

removeInstanceClassFactory

public <X> void removeInstanceClassFactory(InstanceClassFactory<X> factory)
Remove an InstanceClassFactory. Calls setInstanceClassFactory(factory.getType(), null);.

Parameters:
factory -

getInstanceClassFactory

public <T> InstanceClassFactory<T> getInstanceClassFactory(Class<T> clazz)
Get the InstanceClassFactory for an instance type.

Type Parameters:
T - the class type
Parameters:
clazz - the class
Returns:
the factory used to obtain the class to scan for management annotations.

getInstanceClassFactory

public abstract <T> InstanceClassFactory<T> getInstanceClassFactory(Class<T> clazz,
                                                                    org.jboss.metadata.spi.MetaData metaData)


Copyright © 2009 JBoss, a division of Red Hat, Inc.. All Rights Reserved.