S
- the service interfacepublic class MetamodelExtensionPoint<S> extends java.lang.Object implements IMetamodelServiceProvider<S>
Allows registering and querying the metamodel for additional services (audit checkers, label provider, ...)
Constructor and Description |
---|
MetamodelExtensionPoint() |
Modifier and Type | Method and Description |
---|---|
S |
findService(MClass cls)
Find a service for the given metaclass.
|
S |
getService(MMetamodelFragment metamodelFragment)
Get a service for the given metamodel fragment.
|
void |
registerExtension(S service,
java.lang.Class<? extends MMetamodelFragment> metamodelFragmentClass)
Register a metamodel extension.
|
void |
unregisterExtension(java.lang.Class<? extends MMetamodelFragment> metamodelFragmentClass)
Remove a metamodel service provider.
|
public S getService(MMetamodelFragment metamodelFragment)
Will return null if no matching service provider was registered for the metamodel fragment.
getService
in interface IMetamodelServiceProvider<S>
metamodelFragment
- the metamodel fragmentpublic void registerExtension(S service, java.lang.Class<? extends MMetamodelFragment> metamodelFragmentClass)
service
- the implemented service.metamodelFragmentClass
- the supported metamodel fragment class.public void unregisterExtension(java.lang.Class<? extends MMetamodelFragment> metamodelFragmentClass)
metamodelFragmentClass
- the metamodel fragment class to forget.public S findService(MClass cls)
Look for a service for the metaclass origin metamodel fragment. If none is found lookup in the metaclass parent hierarchy for metaclasses from other metamodel fragments.
Will return null if no matching service provider was found.
findService
in interface IMetamodelServiceProvider<S>
cls
- a metaclass