org.ow2.util.ee.deploy.api.deployable.metadata
Class DeployableMetadataManager

java.lang.Object
  extended by org.ow2.util.ee.deploy.api.deployable.metadata.DeployableMetadataManager

public abstract class DeployableMetadataManager
extends Object

Deployable metadata factory.

Author:
Gael Lalire

Constructor Summary
DeployableMetadataManager()
           
 
Method Summary
abstract
<T extends IDeployable<T>,Z extends IDeployableMetadata<T>>
boolean
addDeployableMetadataFactory(Class<T> clazz, IDeployableMetadataFactory<T,Z> deployableMetadataFactory)
          Add a factory.
abstract
<T extends IDeployable<T>,Z extends IDeployableMetadata<T>>
Z
createDeployableMetadata(T deployable, Class<Z> deployableMetadataClass)
          Create metadata from a deployable with a registred factory.
static DeployableMetadataManager getInstance()
           
abstract
<T extends IDeployable<T>,Z extends IDeployableMetadata<T>>
void
removeDeployableMetadataFactory(Class<T> clazz, IDeployableMetadataFactory<T,Z> deployableMetadataFactory)
          Remove a factory.
static void setInstance(DeployableMetadataManager deployableMetadataManager)
          Set the DeployableMetadataManager to use in current thread.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

DeployableMetadataManager

public DeployableMetadataManager()
Method Detail

getInstance

public static DeployableMetadataManager getInstance()
                                             throws DeployerException
Returns:
the latest set DeployableMetadataManager in current thread or the RI
Throws:
DeployerException - if no ArchiveScannerFactory set and the RI can not be accessed with current thread classloader

setInstance

public static void setInstance(DeployableMetadataManager deployableMetadataManager)
Set the DeployableMetadataManager to use in current thread.

Parameters:
deployableMetadataManager - the deployableMetadataManager

createDeployableMetadata

public abstract <T extends IDeployable<T>,Z extends IDeployableMetadata<T>> Z createDeployableMetadata(T deployable,
                                                                                                       Class<Z> deployableMetadataClass)
                                                                   throws DeployableMetadataException
Create metadata from a deployable with a registred factory.

Type Parameters:
T - the deployable type
Z - the metadata type
Parameters:
deployable - the deployable
deployableMetadataClass - the class of metadata
Returns:
new metadata
Throws:
DeployableMetadataException - if metadata can not be created

addDeployableMetadataFactory

public abstract <T extends IDeployable<T>,Z extends IDeployableMetadata<T>> boolean addDeployableMetadataFactory(Class<T> clazz,
                                                                                                                 IDeployableMetadataFactory<T,Z> deployableMetadataFactory)
Add a factory.

Type Parameters:
T - the supported deployable class
Z - the deployable metadata class
Parameters:
clazz - the supported deployable interface
deployableMetadataFactory - the metadata factory
Returns:
true if your factory is assigned to deployable type

removeDeployableMetadataFactory

public abstract <T extends IDeployable<T>,Z extends IDeployableMetadata<T>> void removeDeployableMetadataFactory(Class<T> clazz,
                                                                                                                 IDeployableMetadataFactory<T,Z> deployableMetadataFactory)
Remove a factory.

Type Parameters:
T - the supported deployable class
Z - the deployable metadata class
Parameters:
clazz - the supported deployable interface
deployableMetadataFactory - the metadata factory


Copyright © 2007-2012 OW2 Consortium. All Rights Reserved.