1 ["plantuml", "04_classClusterSingletonServiceProvider", "svg"]
6 interface "AutoCloseable" as auto {
10 interface "GenericEntityOwnershipListener" as eosList {
11 +void ownershipChanged(EntityOwnershipChange ownershipChange);
14 interface "ClusterSingletonServiceProvider" as cssProvider {
15 ClusterSingletonServiceRegistration registerClusterSingletonService(ClusterSingletonService);
18 abstract "AbstractClusterSingletonServiceProviderImpl" as acssProviderImpl {
19 +final void initializeProvider();
20 +final ClusterSingletonServiceRegistration registerClusterSingletonService(ClusterSingletonService);
21 +final void ownershipChanged(OwnershipChange);
23 #abstract EntityOwnershipListenerRegistration registerListener(String entityType, GenericEntityOwnershipService service);
24 #abstract GenericEntity createEntity(String entityType, String entityIdentifier);
25 #abstract String getServiceIdentifierFromEntity(GenericEntity entity);
26 #final void cleaningProvider(Throwable t);
29 class "DOMClusterSingletonServiceProviderImpl" as domCssProviderImpl {
30 #final DOMEntity createEntity(String entityType, String entityIdentifier);
31 #final DOMEntityOwnershipListenerRegistration registerListener(String type, DOMEntityOwnershipService eos);
32 #final String getServiceIdentifierFromEntity(DOMEntity entity);
35 class "ClusterSingletonServiceProviderImpl" as cssProviderImpl {
36 #final Entity createEntity(String type, String ident);
37 #final EntityOwnershipListenerRegistration registerListener(String type, EntityOwnershipService eos);
38 #final String getServiceIdentifierFromEntity(Entity entity);
42 acssProviderImpl --|> cssProvider
43 acssProviderImpl --|> eosList
44 cssProviderImpl --|> acssProviderImpl
45 domCssProviderImpl --|> acssProviderImpl