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 BeanDatabaseImpl
currentDatabase
private int
inTransaction
private IterableProvider<BeanDatabaseUpdateListener>
listeners
private java.lang.Object
lock
private static java.util.concurrent.atomic.AtomicLong
revisionCounter
-
Constructor Summary
Constructors Constructor Description HubImpl()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description (package private) void
activateCurrentDatabase(WriteableBeanDatabaseImpl writeableDatabase, java.lang.Object commitMessage, java.util.List<Change> changes, java.util.LinkedList<BeanDatabaseUpdateListener> completedListeners)
BeanDatabase
getCurrentDatabase()
Gets the current database running in the systemWriteableBeanDatabase
getWriteableDatabaseCopy()
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) void
rollbackCurrentDatabase(WriteableBeanDatabaseImpl writeableDatabase, java.lang.Object commitMessage, java.util.List<Change> changes, java.util.LinkedList<BeanDatabaseUpdateListener> completedListeners)
(package private) void
setCurrentDatabase(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:Hub
Gets the current database running in the system- Specified by:
getCurrentDatabase
in interfaceHub
- Returns:
- The current database known to the Hub
-
getWriteableDatabaseCopy
public WriteableBeanDatabase getWriteableDatabaseCopy()
Description copied from interface:Hub
Creates 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 theWriteableBeanDatabase
will become the current database. There is no requirement to eventually call theWriteableBeanDatabase.commit()
method- Specified by:
getWriteableDatabaseCopy
in 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)
-
-