Class HubImpl
- java.lang.Object
-
- org.glassfish.hk2.configuration.hub.internal.HubImpl
-
- All Implemented Interfaces:
Hub
@Service @ContractsProvided(Hub.class) @Visibility(LOCAL) public class HubImpl extends java.lang.Object implements Hub
-
-
Field Summary
Fields Modifier and Type Field Description private BeanDatabaseImplcurrentDatabaseprivate intinTransactionprivate IterableProvider<BeanDatabaseUpdateListener>listenersprivate java.lang.Objectlockprivate static java.util.concurrent.atomic.AtomicLongrevisionCounter
-
Constructor Summary
Constructors Constructor Description HubImpl()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description (package private) voidactivateCurrentDatabase(WriteableBeanDatabaseImpl writeableDatabase, java.lang.Object commitMessage, java.util.List<Change> changes, java.util.LinkedList<BeanDatabaseUpdateListener> completedListeners)BeanDatabasegetCurrentDatabase()Gets the current database running in the systemWriteableBeanDatabasegetWriteableDatabaseCopy()Creates a writeable copy of the currently running database.(package private) java.util.LinkedList<BeanDatabaseUpdateListener>prepareCurrentDatabase(WriteableBeanDatabaseImpl writeableDatabase, java.lang.Object commitMessage, java.util.List<Change> changes)(package private) voidrollbackCurrentDatabase(WriteableBeanDatabaseImpl writeableDatabase, java.lang.Object commitMessage, java.util.List<Change> changes, java.util.LinkedList<BeanDatabaseUpdateListener> completedListeners)(package private) voidsetCurrentDatabase(WriteableBeanDatabaseImpl writeableDatabase, java.lang.Object commitMessage, java.util.List<Change> changes)
-
-
-
Field Detail
-
revisionCounter
private static final java.util.concurrent.atomic.AtomicLong revisionCounter
-
lock
private final java.lang.Object lock
-
currentDatabase
private BeanDatabaseImpl currentDatabase
-
listeners
@Inject private IterableProvider<BeanDatabaseUpdateListener> listeners
-
inTransaction
private int inTransaction
-
-
Method Detail
-
getCurrentDatabase
public BeanDatabase getCurrentDatabase()
Description copied from interface:HubGets the current database running in the system- Specified by:
getCurrentDatabasein interfaceHub- Returns:
- The current database known to the Hub
-
getWriteableDatabaseCopy
public WriteableBeanDatabase getWriteableDatabaseCopy()
Description copied from interface:HubCreates a writeable copy of the currently running database. If theWriteableBeanDatabase.commit()method is called (and no otherWriteableBeanDatabase.commit()method has been called) then a read-only copye of theWriteableBeanDatabasewill become the current database. There is no requirement to eventually call theWriteableBeanDatabase.commit()method- Specified by:
getWriteableDatabaseCopyin interfaceHub- Returns:
- A writeable copy of the current database
-
prepareCurrentDatabase
java.util.LinkedList<BeanDatabaseUpdateListener> prepareCurrentDatabase(WriteableBeanDatabaseImpl writeableDatabase, java.lang.Object commitMessage, java.util.List<Change> changes)
-
activateCurrentDatabase
void activateCurrentDatabase(WriteableBeanDatabaseImpl writeableDatabase, java.lang.Object commitMessage, java.util.List<Change> changes, java.util.LinkedList<BeanDatabaseUpdateListener> completedListeners)
-
rollbackCurrentDatabase
void rollbackCurrentDatabase(WriteableBeanDatabaseImpl writeableDatabase, java.lang.Object commitMessage, java.util.List<Change> changes, java.util.LinkedList<BeanDatabaseUpdateListener> completedListeners)
-
setCurrentDatabase
void setCurrentDatabase(WriteableBeanDatabaseImpl writeableDatabase, java.lang.Object commitMessage, java.util.List<Change> changes)
-
-