org.eclipse.emf.facet.custom.core

## Interface ICustomizationCatalogManager

    public interface ICustomizationCatalogManager

This interface allows to access the customization catalog.

Since:
  0.2
Author:
  Gregoire Dupe
Noimplement:
  This interface is not intended to be implemented by clients.
Noextend:
  This interface is not intended to be extended by clients.

### Method Summary

All Methods Instance Methods Abstract Methods
`java.util.List<Customization>` `getCustomizationsApplicableOn(java.util.Collection<EObject> eObjects)` This method is used to get all the customization which can be applied on a list of eObjects and on the sub elements of those eObjects.
`java.util.List<Customization>` `getRegisteredCustomizations()` This method is used to get all the registered customizations.
`void` `registerCustomization(Customization customization)` This method is used to register a customization which has not been declared through the regular way (extension point).

### Method Detail

#### getRegisteredCustomizations

    java.util.List<Customization> getRegisteredCustomizations()

This method is used to get all the registered customizations.

Returns:
  all the registered customizations (may contain aggregates)

#### getCustomizationsApplicableOn

    java.util.List<Customization> getCustomizationsApplicableOn(java.util.Collection<EObject> eObjects)

This method is used to get all the customization which can be applied on a list of eObjects and on the sub elements of those eObjects. Inheritance is handled. For example, assuming meta-model A extends meta-model B, the customizations declared on meta-model B have to be available on the instances of meta-model A. Furthermore all customizations containing a customization of EObject have to be applicable on all the models.

Parameters:
  `eObjects` - the `EObject`s for which to get the applicable customizations
Returns:
  a list of customizations

#### registerCustomization

    void registerCustomization(Customization customization)

This method is used to register a customization which has not been declared through the regular way (extension point).

Parameters:
  `customization` - the customization to register