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 Object
implements Hub
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate BeanDatabaseImpl
private int
private final Object
private static final AtomicLong
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescription(package private) void
activateCurrentDatabase
(WriteableBeanDatabaseImpl writeableDatabase, Object commitMessage, List<Change> changes, LinkedList<BeanDatabaseUpdateListener> completedListeners) Gets the current database running in the systemCreates a writeable copy of the currently running database.(package private) LinkedList
<BeanDatabaseUpdateListener> prepareCurrentDatabase
(WriteableBeanDatabaseImpl writeableDatabase, Object commitMessage, List<Change> changes) (package private) void
rollbackCurrentDatabase
(WriteableBeanDatabaseImpl writeableDatabase, Object commitMessage, List<Change> changes, LinkedList<BeanDatabaseUpdateListener> completedListeners) (package private) void
setCurrentDatabase
(WriteableBeanDatabaseImpl writeableDatabase, Object commitMessage, List<Change> changes)
-
Field Details
-
revisionCounter
-
lock
-
currentDatabase
-
listeners
-
inTransaction
private int inTransaction
-
-
Constructor Details
-
HubImpl
public HubImpl()
-
-
Method Details
-
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
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
LinkedList<BeanDatabaseUpdateListener> prepareCurrentDatabase(WriteableBeanDatabaseImpl writeableDatabase, Object commitMessage, List<Change> changes) -
activateCurrentDatabase
void activateCurrentDatabase(WriteableBeanDatabaseImpl writeableDatabase, Object commitMessage, List<Change> changes, LinkedList<BeanDatabaseUpdateListener> completedListeners) -
rollbackCurrentDatabase
void rollbackCurrentDatabase(WriteableBeanDatabaseImpl writeableDatabase, Object commitMessage, List<Change> changes, LinkedList<BeanDatabaseUpdateListener> completedListeners) -
setCurrentDatabase
void setCurrentDatabase(WriteableBeanDatabaseImpl writeableDatabase, Object commitMessage, List<Change> changes)
-