org.eclipse.emf.transaction
Interface TransactionalEditingDomain.Registry

All Known Implementing Classes:
TransactionalEditingDomainImpl.RegistryImpl
Enclosing interface:
TransactionalEditingDomain

public static interface TransactionalEditingDomain.Registry

An ID-based registry of shareable TransactionalEditingDomain instances. Although editing domains can be registered in code, the usual means is to implement the org.eclipse.emf.transaction.editingDomains extension point.


Field Summary
static TransactionalEditingDomain.Registry INSTANCE
          The single static registry instance.
 
Method Summary
 void add(String id, TransactionalEditingDomain domain)
          Registers an editing domain under the specified ID.
 TransactionalEditingDomain getEditingDomain(String id)
          Obtains the editing domain having the specified ID.
 TransactionalEditingDomain remove(String id)
          Removes the editing domain matching the specified ID from the registry.
 

Field Detail

INSTANCE

static final TransactionalEditingDomain.Registry INSTANCE
The single static registry instance.

Method Detail

getEditingDomain

TransactionalEditingDomain getEditingDomain(String id)
Obtains the editing domain having the specified ID. if the specified domain is registered on the extension point but has not yet been created, then it is first created (using the designated factory) and then returned.

Parameters:
id - the ID to request
Returns:
the matching editing domain, or null if it is not found and it could not be created from the extension point

add

void add(String id,
         TransactionalEditingDomain domain)
Registers an editing domain under the specified ID. This will displace any domain previously registered under this ID. Note that it is not permitted to replace an editing domain that was registered statically on the org.eclipse.emf.transaction.editingDomains extension point.

Parameters:
id - the domain ID to register
domain - the domain to register. If its current ID is not the registered ID, then it is updated to correspond
Throws:
IllegalArgumentException - if the specified ID is already registered statically on the extension point

remove

TransactionalEditingDomain remove(String id)
Removes the editing domain matching the specified ID from the registry. Note that it is not permitted to remove an ID that was registered statically on the org.eclipse.emf.transaction.editingDomains extension point.

Parameters:
id - the domain ID to deregister
Returns:
the editing domain previously registered under this ID, or null if none was registered
Throws:
IllegalArgumentException - if the specified ID was registered statically on the extension point

Copyright 2002, 2007 IBM Corporation and others.
All Rights Reserved.