multiverse.server.plugins
Class ObjectManagerPlugin
java.lang.Object
multiverse.server.engine.EnginePlugin
multiverse.server.plugins.ObjectManagerPlugin
- All Implemented Interfaces:
- MessageCallback, StatusMapCallback
public class ObjectManagerPlugin
- extends EnginePlugin
handles creating from factory, loading from database, spawning, despawning,
persisting to database, of objects
see ObjectManagerClient for api to access this plugin
| Nested classes/interfaces inherited from class multiverse.server.engine.EnginePlugin |
EnginePlugin.DeleteHook, EnginePlugin.DeleteSubObjHook, EnginePlugin.GenerateSubObjectHook, EnginePlugin.GetPropertyMessage, EnginePlugin.LoadHook, EnginePlugin.LoadSubObjHook, EnginePlugin.PluginActivateHook, EnginePlugin.PluginStateMessage, EnginePlugin.SaveHook, EnginePlugin.SaveSubObjHook, EnginePlugin.SetPropertyMessage, EnginePlugin.SubObjData, EnginePlugin.TransferFilter, EnginePlugin.TransferObjectMessage, EnginePlugin.UnloadHook, EnginePlugin.UnloadSubObjHook |
| Fields inherited from class multiverse.server.engine.EnginePlugin |
deleteSubObjectSubscription, dumpAllThreadSubscription, dumpAllThreadSubscriptionLock, loadSubObjectSubscription, lock, MSG_TYPE_DUMP_ALL_THREAD_STACKS, MSG_TYPE_GET_PROPERTY, MSG_TYPE_PLUGIN_STATE, MSG_TYPE_SET_PROPERTY, MSG_TYPE_SET_PROPERTY_NONBLOCK, MSG_TYPE_TRANSFER_OBJECT, pluginStateSubscription, propertySubscription, saveSubObjectSubscription, selectionFilter, selectionSubscription, setSubObjectPersistenceSubscription, subObjectSubscription, unloadSubObjectSubscription |
|
Method Summary |
private void |
addInstance(ObjectManagerPlugin.MasterObject instance)
|
private void |
addInstanceContent(long instanceOid,
ObjectManagerPlugin.MasterObject entity)
|
(package private) GenericResponseMessage |
generateSubObject(Long masterOid,
Namespace namespace,
Template template)
creates a subobject, returns the subobject's oid |
private Long |
getInstanceNamedObject(long instanceOid,
String name,
ObjectType objectType)
|
private Long |
getNamedObject(String name,
ObjectType objectType)
|
private boolean |
isInstanceLoading(long instanceOid)
|
private boolean |
isInstanceOk(long instanceOid,
int newStatus)
|
void |
onActivate()
for developers extending the EnginePlugin object, it may
be easier to use the onActivate() method which gets
called when the plugin is being activated by the Engine. |
protected void |
registerHooks()
|
private void |
removeInstance(ObjectManagerPlugin.MasterObject instance)
|
private void |
removeInstanceContent(long instanceOid,
ObjectManagerPlugin.MasterObject entity)
|
(package private) void |
resolveDeps(Long masterOid,
Namespace namespace,
Map<Namespace,Collection<Namespace>> depMap)
|
private void |
setInstanceStatus(long instanceOid,
int newStatus)
|
| Methods inherited from class multiverse.server.engine.EnginePlugin |
activate, createMBeanInstance, createSubscription, getHookManager, getMessageHandler, getName, getObjectLockManager, getObjectProperties, getObjectProperties, getObjectProperty, getPercentCPULoad, getPluginAvailable, getPluginInfo, getPluginNamespaces, getPluginState, getPluginStatus, getPluginType, getPropertyImpl, getStatusMap, handleMessage, handleMessageImpl, logDepsOutstanding, processKeysAndValues, registerActivateHook, registerDeleteHook, registerLoadHook, registerPluginNamespace, registerPluginNamespaces, registerPluginNamespaces, registerPluginNamespaces, registerSaveHook, registerTransferHook, registerUnloadHook, sendSubObjectResponse, sendSubObjectResponse, sendSubObjectResponse, setMessageHandler, setName, setObjectProperties, setObjectProperties, setObjectPropertiesNoResponse, setObjectPropertiesNoResponse, setObjectProperty, setObjectPropertyNoResponse, setPercentCPULoad, setPluginAvailable, setPluginInfo, setPluginType, setPropertyImpl, transferObject |
| Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
INSTANCE_OK
private static final int INSTANCE_OK
- See Also:
- Constant Field Values
INSTANCE_LOADING
private static final int INSTANCE_LOADING
- See Also:
- Constant Field Values
INSTANCE_UNLOADING
private static final int INSTANCE_UNLOADING
- See Also:
- Constant Field Values
INSTANCE_DELETING
private static final int INSTANCE_DELETING
- See Also:
- Constant Field Values
log
protected static final Logger log
templateManager
protected Manager<Template> templateManager
instanceContent
private Map<Long,ObjectManagerPlugin.InstanceState> instanceContent
ObjectManagerPlugin
public ObjectManagerPlugin()
onActivate
public void onActivate()
- Description copied from class:
EnginePlugin
- for developers extending the EnginePlugin object, it may
be easier to use the onActivate() method which gets
called when the plugin is being activated by the Engine.
this is an alternative to calling registerActivateHook()
- Overrides:
onActivate in class EnginePlugin
registerHooks
protected void registerHooks()
resolveDeps
void resolveDeps(Long masterOid,
Namespace namespace,
Map<Namespace,Collection<Namespace>> depMap)
generateSubObject
GenericResponseMessage generateSubObject(Long masterOid,
Namespace namespace,
Template template)
- creates a subobject, returns the subobject's oid
- Returns:
- the GenericResponseMessage from creating the subobject
the object is a LinkedList of namespaces that
the plugin is still waiting to be created before it can finish
subobject creation.
addInstance
private void addInstance(ObjectManagerPlugin.MasterObject instance)
removeInstance
private void removeInstance(ObjectManagerPlugin.MasterObject instance)
addInstanceContent
private void addInstanceContent(long instanceOid,
ObjectManagerPlugin.MasterObject entity)
removeInstanceContent
private void removeInstanceContent(long instanceOid,
ObjectManagerPlugin.MasterObject entity)
isInstanceOk
private boolean isInstanceOk(long instanceOid,
int newStatus)
isInstanceLoading
private boolean isInstanceLoading(long instanceOid)
setInstanceStatus
private void setInstanceStatus(long instanceOid,
int newStatus)
getInstanceNamedObject
private Long getInstanceNamedObject(long instanceOid,
String name,
ObjectType objectType)
getNamedObject
private Long getNamedObject(String name,
ObjectType objectType)