com.vii.brillien.kernel.axiom.atomic
Interface Commander<P extends PresenceBoard,C extends Communication,R>

All Superinterfaces:
Aspirer<C,R>, Callable<R>, Context<P,C,R>, Flow<P,C,R>, Presence<C,R>, Progressor, Sensor<C>, Unit<P,C,R>

public interface Commander<P extends PresenceBoard,C extends Communication,R>
extends Flow<P,C,R>

Commander is a central management object in Brillien. Features: - maintain and manage all Presence instance in the running system - common interface for all Presence object to able to collect information about other Presence objects - registration-based Presence management The Commander object is a Unit, so Brillien is a Commander object graph and every Commander object may contain any Presence object, a Commander as well in fact. However, this would signify a very-very complex system. In most cases, a single Liaison is sufficient for all purposes.


Field Summary
 
Fields inherited from interface com.vii.brillien.kernel.axiom.atomic.Presence
CONSONANT, RESIDENT, SPARKLE
 
Method Summary
 PresenceManager getPresenceManagerOf(String name)
          Get the Presence Manager of a default version Presence type by its name
 PresenceManager getPresenceManagerOf(String name, String apiVersion)
          Get the Presence Manager of a Presence type by its name
 Map<String,List<String>> getPresenceNames()
           
 boolean hasPresence(String name)
          Tells whether a Presence with the given name exists
 boolean isSystemPresence(String presenceName)
          Tells whether the given presence is a system-level presence or not
 boolean isSystemPresence(String presenceName, String apiVersion)
          Tells whether the given presence is a system-level presence or not
<T extends Presence>
String
registerPresence(Class<T> Presence, String apiVersion)
          Registers a Presence.
<T extends Presence>
String
registerPresence(Class<T> Presence, String cloneName, String apiVersion)
          Makes a presence "clone".
<T extends Presence>
String
registerPresence(String PresenceName, Class<T> Presence, String apiVersion)
          Registers a Presence with the given name.
 String registerPresence(String originalName, String cloneName, String apiVersion)
          Makes a presence "clone".
 void setApyKeyPresenceName(String PresenceName)
          Sets the name of the Presence providing SSO functionality
 void setSSOPresenceName(String PresenceName)
          Sets the name of the Presence providing SSO functionality
 void shutDown()
           
 void unregisterPresence(String PresenceName, String apiVersion)
          Unregisters a Presence by its name.
 
Methods inherited from interface com.vii.brillien.kernel.axiom.atomic.Flow
activate, getActivationData, getFlowID, getFlowResult, getStateSpace, isIndispensable, isSuspended, oppress, report, report, revivified, setFlowID, setFlowResult, setIndispensable, setStateSpace, suspend, terminate
 
Methods inherited from interface com.vii.brillien.kernel.axiom.atomic.Context
addExceptionLeveling, clearExceptionLeveling, getSharing, getShifter, hasSharing, levelException, registerSharing, removeExceptionLeveling, removeSharing
 
Methods inherited from interface com.vii.brillien.kernel.axiom.atomic.Unit
activateUnitAll, activateUnitCallable, activateUnitMessaging, addPresence, addPresences, addSubUnit, addSubUnits, classify, clearPresences, clearSubUnits, communicationUnitReceived, complement, getCharacteristicFunction, getPresences, getSubUnits, hasUnitActivity, intersect, isSubSet, isUnitInExitState, isUnitInValidStates, isUnitWaitingForResponse, order, passivateUnitAll, passivateUnitCallable, passivateUnitMessaging, printUnitErrorStates, removePresence, removePresences, removeSubUnit, removeSubUnits, retrieveUnit, scrutinise, setCharacteristicFunction, subset, symmetricDifference, union
 
Methods inherited from interface com.vii.brillien.kernel.axiom.atomic.Presence
activateAll, addSuperUnits, clearSuperUnits, getApiKeyPresenceName, getApiVersion, getFlow, getLoggedUser, getLoggedUser, getPresence, getPresenceManager, getSharing, getSSOPresenceName, getSuperUnits, loginUser, passivateAll, printErrorStates, removeSuperUnits, retrieve, setApiVersion, setFlow, setPresenceManager
 
Methods inherited from interface com.vii.brillien.kernel.axiom.Presence
aspirationTimeIsUp, getAspirationPattern, getAspirationTimeMeasure, getFullName, getInterface, getMessageProcessorParameterNames, getMessageProcessorParameterTypes, getName, hasMessageProcessorReturnValue, isAspirationPeriodical, reset, setAspirationPattern, setAspirationPeriodical, setAspirationTimeMeasure, setName
 
Methods inherited from interface com.vii.brillien.kernel.axiom.Aspirer
activateCallable, getResult, hasActivity, isWaitingForInputData, isWaitingForResponse, passivateCallable, plan, sendAGet, sendDelegatedSet, sendError, sendError, sendError, sendGet, sendGet, sendResponse, sendSet, sendUnitAGet, sendUnitDelegatedSet, sendUnitGet, sendUnitGet, sendUnitSet
 
Methods inherited from interface java.util.concurrent.Callable
call
 
Methods inherited from interface com.vii.brillien.kernel.axiom.Sensor
activateMessaging, communicationReceived, errorReceived, passivateMessaging, presenseChangedState
 
Methods inherited from interface com.vii.brillien.kernel.axiom.Progressor
addState, changeState, getActualStates, getPotentialStates, getStateDivision, hasStateMachine, initStateMashine, isInExitState, isInState, isInValidStates, panic, registerStateChangeNotification, removeState, setStateDivision, unregisterStateChangeNotification
 

Method Detail

registerPresence

<T extends Presence> String registerPresence(Class<T> Presence,
                                             String apiVersion)
                        throws BrillienException
Registers a Presence. It is performed after loading a component from the deployment directory.

Type Parameters:
T - generic type representing the Presence origin
Parameters:
Presence - class reference for the Presence type
Returns:
name of the Presence component
Throws:
BrillienException

registerPresence

<T extends Presence> String registerPresence(String PresenceName,
                                             Class<T> Presence,
                                             String apiVersion)
                        throws BrillienException
Registers a Presence with the given name. It is performed after loading a component from the deployment directory.

Type Parameters:
T - generic type representing the Presence origin
Parameters:
PresenceName - class name of the presence to be used
Presence - class reference for the Presence type
Returns:
name of the Presence component
Throws:
BrillienException

registerPresence

<T extends Presence> String registerPresence(Class<T> Presence,
                                             String cloneName,
                                             String apiVersion)
                        throws BrillienException
Makes a presence "clone". An already registered presence will be registered with a new name, thus reusing entity. Name must be unique.

Type Parameters:
T - generic type representing the Presence origin
Parameters:
Presence - class reference for the Presence type
cloneName - name of the clone
Returns:
name of the Presence component
Throws:
BrillienException

registerPresence

String registerPresence(String originalName,
                        String cloneName,
                        String apiVersion)
                        throws BrillienException
Makes a presence "clone". An already registered presence will be registered with a new name, thus reusing entity. The Presence type will be identified by its publishing name. Name must be unique.

Parameters:
originalName - name of the original Presence
cloneName - name of the clone
Returns:
name of the Presence component
Throws:
BrillienException

unregisterPresence

void unregisterPresence(String PresenceName,
                        String apiVersion)
                        throws BrillienException
Unregisters a Presence by its name.

Parameters:
PresenceName - presence to be unregistered
Throws:
BrillienException

getPresenceNames

Map<String,List<String>> getPresenceNames()
                                          throws BrillienException
Returns:
the list of published components
Throws:
BrillienException

hasPresence

boolean hasPresence(String name)
Tells whether a Presence with the given name exists

Parameters:
name - name of the presence

getPresenceManagerOf

PresenceManager getPresenceManagerOf(String name)
                                     throws BrillienException
Get the Presence Manager of a default version Presence type by its name

Parameters:
name - name of the Presence type
Returns:
Presence Manager of the given Presence type
Throws:
BrillienException

getPresenceManagerOf

PresenceManager getPresenceManagerOf(String name,
                                     String apiVersion)
                                     throws BrillienException
Get the Presence Manager of a Presence type by its name

Parameters:
name - name of the Presence type
version - version of the Presence type
Returns:
Presence Manager of the given Presence type
Throws:
BrillienException

isSystemPresence

boolean isSystemPresence(String presenceName)
                         throws BrillienException
Tells whether the given presence is a system-level presence or not

Throws:
BrillienException

isSystemPresence

boolean isSystemPresence(String presenceName,
                         String apiVersion)
                         throws BrillienException
Tells whether the given presence is a system-level presence or not

Throws:
BrillienException

setSSOPresenceName

void setSSOPresenceName(String PresenceName)
Sets the name of the Presence providing SSO functionality


setApyKeyPresenceName

void setApyKeyPresenceName(String PresenceName)
Sets the name of the Presence providing SSO functionality


shutDown

void shutDown()


Copyright © 2012. All Rights Reserved.