com.tibbo.aggregate.common.protocol

## Class ProxyContext<C extends Context>

- java.lang.Object
- - com.tibbo.aggregate.common.context.AbstractContext<C>
  - - com.tibbo.aggregate.common.protocol.ProxyContext<C>

- All Implemented Interfaces:
    Context<C>, EvaluationPoint, java.lang.Comparable<C>

      public class ProxyContext<C extends Context>
      extends AbstractContext<C>

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `static long` | `DURABLE_OPERATIONS_TIMEOUT`
    `static java.lang.String` | `F_LOCAL_REINITIALIZE`

    - ### Fields inherited from class com.tibbo.aggregate.common.context.AbstractContext

      `ACTION_DEF_FORMAT, CALLER_CONTROLLER_PROPERTY_DEBUG, CALLER_CONTROLLER_PROPERTY_NO_CHANGE_EVENTS, CALLER_CONTROLLER_PROPERTY_NO_STATISTICS, CALLER_CONTROLLER_PROPERTY_NO_UPDATED_EVENTS, CALLER_CONTROLLER_PROPERTY_NO_VALIDATION, currentSource, DEFAULT_EVENT_LEVEL, E_ACTION_ADDED, E_ACTION_REMOVED, E_ACTION_STATE_CHANGED, E_CHANGE, E_CHILD_ADDED, E_CHILD_REMOVED, E_DESTROYED, E_EVENT_ADDED, E_EVENT_REMOVED, E_FUNCTION_ADDED, E_FUNCTION_REMOVED, E_INFO, E_INFO_CHANGED, E_UPDATED, E_VARIABLE_ADDED, E_VARIABLE_REMOVED, E_VARIABLE_STATUS_CHANGED, ED_ACTION_ADDED, ED_ACTION_REMOVED, ED_ACTION_STATE_CHANGED, ED_CHANGE, ED_CHILD_ADDED, ED_CHILD_REMOVED, ED_DESTROYED, ED_EVENT_ADDED, ED_EVENT_REMOVED, ED_FUNCTION_ADDED, ED_FUNCTION_REMOVED, ED_INFO, ED_INFO_CHANGED, ED_UPDATED, ED_VARIABLE_ADDED, ED_VARIABLE_REMOVED, EF_ACTION_REMOVED_NAME, EF_CHANGE, EF_CHANGE_DATA, EF_CHANGE_FORMAT, EF_CHANGE_VALUE, EF_CHANGE_VARIABLE, EF_CHILD_ADDED_CHILD, EF_CHILD_REMOVED_CHILD, EF_EVENT_ADDED, EF_EVENT_REMOVED_NAME, EF_FUNCTION_ADDED, EF_FUNCTION_REMOVED_NAME, EF_INFO_INFO, EF_UPDATED, EF_UPDATED_UPDATE_ORIGINATOR, EF_UPDATED_USER, EF_UPDATED_VALUE, EF_UPDATED_VALUE_OLD, EF_UPDATED_VARIABLE, EF_UPDATED_VARIABLE_STATUS, EF_VARIABLE_REMOVED_NAME, EFT_ACTION_REMOVED, EFT_CHILD_ADDED, EFT_CHILD_REMOVED, EFT_EVENT_REMOVED, EFT_FUNCTION_REMOVED, EFT_INFO, EFT_VARIABLE_REMOVED, EVENT_DEFINITION_FORMAT, EXECUTOR_THREADS_PERCENT_FOR_VISITORS, F_BREAK_LOCK, F_COPY, F_COPY_TO_CHILDREN, F_FIRE_CONTEXT_EVENT, F_GET_ALIASES, F_GET_COPY_DATA, F_GET_VARIABLE_STATUS, F_LOCK, F_LOCKED_BY, F_UNLOCK, F_UPDATE_VARIABLE, FD_COPY, FD_COPY_TO_CHILDREN, FD_FIRE_CONTEXT_EVENT, FD_GET_ALIASES, FD_GET_COPY_DATA, FD_UPDATE_VARIABLE, FIELD_ED_DESCRIPTION, FIELD_ED_FORMAT, FIELD_ED_GROUP, FIELD_ED_HELP, FIELD_ED_ICON_ID, FIELD_ED_LEVEL, FIELD_ED_NAME, FIELD_FD_CONCURRENT, FIELD_FD_DESCRIPTION, FIELD_FD_GROUP, FIELD_FD_HELP, FIELD_FD_ICON_ID, FIELD_FD_INPUTFORMAT, FIELD_FD_NAME, FIELD_FD_OUTPUTFORMAT, FIELD_FD_PERMISSIONS, FIELD_REPLICATE_ERRORS, FIELD_REPLICATE_SUCCESSFUL, FIELD_REPLICATE_VARIABLE, FIELD_VD_ADD_PREVIOUS_VALUE_TO_VARIABLE_UPDATE_EVENT, FIELD_VD_CACHE_TIME, FIELD_VD_DESCRIPTION, FIELD_VD_FORMAT, FIELD_VD_GROUP, FIELD_VD_HELP, FIELD_VD_HELP_ID, FIELD_VD_ICON_ID, FIELD_VD_NAME, FIELD_VD_READABLE, FIELD_VD_SERVER_CACHING_MODE, FIELD_VD_WRITABLE, FIF_COPY_DATA_GROUP, FIF_COPY_DATA_RECIPIENTS, FIF_COPY_DATA_RECIPIENTS_RECIPIENT, FIF_FIRE_EVENT_DATA, FIF_FIRE_EVENT_EVENT, FIF_FIRE_EVENT_LEVEL, FIF_LOCK_PROPERTIES_EDITOR_UUID, FIF_REPLICATE_FIELDS_DESCRIPTION, FIF_REPLICATE_FIELDS_NAME, FIF_REPLICATE_FIELDS_REPLICATE, FIF_UNLOCK_PROPERTIES_EDITOR_UUID, FIF_VISIBLE_CHILDREN_CONTEXT_MASK, FIF_VISIBLE_CHILDREN_COUNT, FIF_VISIBLE_CHILDREN_FILTER_EXPRESSION, FIF_VISIBLE_CHILDREN_GLOBAL_FILTER, FIF_VISIBLE_CHILDREN_OFFSET, FIF_VISIBLE_CHILDREN_PROPERTY_FILTERS, FIF_VISIBLE_CHILDREN_SMART_FILTER_EXPRESSION, FIFT_FIRE_CONTEXT_EVENT, FIFT_GET_COPY_DATA, FIFT_GET_COPY_DATA_RECIPIENTS, FIFT_GET_VARIABLE_STATUS, FIFT_LOCK, FIFT_REPLICATE_FIELDS, FIFT_UNLOCK, FIFT_UPDATE_VARIABLE, FIFT_VISIBLE_CHILDREN, FOF_COPY_DATA_DESCRIPTION, FOF_COPY_DATA_FIELDS, FOF_COPY_DATA_NAME, FOF_COPY_DATA_REPLICATE, FOF_COPY_DATA_VALUE, FOF_FIRE_EVENT_ID, FOF_GET_ALIASES_ALIAS_NAME, FOF_GET_ALIASES_ENTITY_TYPE, FOF_GET_ALIASES_NAME, FOF_LOCK_OWNER_NAME, FOF_LOCKED_BY_OWNER_NAME, FOF_UNLOCK_UNLOCKED, FOF_VISIBLE_CHILDREN_BATCH, FOF_VISIBLE_CHILDREN_TOTAL_COUNT, FOFT_FIRE_CONTEXT_EVENT, FOFT_GET_ALIASES, FOFT_LOCK, FOFT_LOCKED_BY, FOFT_UNLOCK, FOFT_VISIBLE_CHILDREN, FUNCTION_DEFINITION_FORMAT, INDEX_HIGH, INDEX_HIGHER, INDEX_HIGHEST, INDEX_LOW, INDEX_LOWER, INDEX_LOWEST, INDEX_NORMAL, INDEX_VERY_HIGH, INDEX_VERY_LOW, INFO_DEFINITION_FORMAT, ready, REPLICATE_INPUT_FORMAT, REPLICATE_OUTPUT_FORMAT, REPLICATE_TO_CHILDREN_OUTPUT_FORMAT, RESOURCE_MASKS_FORMAT, SORT_THRESHOLD, V_ACTIONS, V_CHILDREN, V_EVENTS, V_FUNCTIONS, V_INFO, V_UPDATE_VARIABLE, V_UPDATE_VARIABLE_EXPRESSION, V_VARIABLE_NAME, V_VARIABLE_STATUSES, V_VARIABLES, VARIABLE_DEFINITION_FORMAT, VD_ACTIONS, VD_CHILDREN, VD_EVENTS, VD_FUNCTIONS, VD_INFO, VD_VARIABLES, VF_CHILDREN_IS_CONTAINER, VF_CHILDREN_NAME, VF_INFO_DESCRIPTION, VF_INFO_GROUP, VF_INFO_ICON, VF_INFO_LOCAL_ROOT, VF_INFO_MAPPED, VF_INFO_PEER_PRIMARY_ROOT, VF_INFO_PEER_ROOT, VF_INFO_REMOTE_PATH, VF_INFO_REMOTE_ROOT, VF_INFO_TYPE, VF_VARIABLE_STATUSES_COMMENT, VF_VARIABLE_STATUSES_NAME, VF_VARIABLE_STATUSES_STATUS, VF_VISIBLE_CHILDREN_PROPERTY_FILTERS_PROPERTY_NAME, VF_VISIBLE_CHILDREN_PROPERTY_FILTERS_PROPERTY_VALUE, VFT_CHILDREN, VFT_VISIBLE_CHILDREN`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `ProxyContext(java.lang.String name, AbstractAggreGateDeviceController controller)`

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `boolean` | `addEventListener(java.lang.String name, ContextEventListener contextEventListener, boolean weak)` Adds listener of event with specified name.
    `boolean` | `addEventListener(java.lang.String name, ContextEventListener contextEventListener, boolean weak, boolean sendRemoteCommand)`
    `protected void` | `addLocalFunctionDefinitions()`
    `void` | `addVisibleChild(java.lang.String localVisiblePath)`
    `protected DataTable` | `callFunctionImpl(FunctionDefinition def, CallerController caller, RequestController request, DataTable parameters)`
    `protected DataTable` | `callRemoteFunction(java.lang.String name, TableFormat outputFormat, DataTable parameters, java.lang.String queueName, boolean isReplyRequired)`
    `void` | `clear()`
    `protected java.lang.String` | `convertRemoteDescription(java.lang.String remoteDescription)`
    `protected ProxyContext` | `createChildContextProxy(java.lang.String name)`
    `protected TableFormat` | `decodeFormat(java.lang.String source, CallerController caller)`
    `protected Event` | `fireEvent(EventDefinition ed, DataTable data, int level, java.lang.Long id, java.util.Date creationtime, java.lang.Integer listener, CallerController caller, FireEventRequestController request, Permissions permissions)`
    `C` | `get(java.lang.String contextPath, CallerController caller)` Returns context with the selected path.
    `ActionDefinition` | `getActionDefinition(java.lang.String name)` Returns action definition by name.
    `java.util.List<ActionDefinition>` | `getActionDefinitions(CallerController caller, boolean hidden)` Returns action definitions.
    `C` | `getChild(java.lang.String name, CallerController callerController)` Returns child of this context with the specified name.
    `java.util.List<C>` | `getChildren(CallerController caller)` Returns list of children contexts that are accessible by the specified `CallerController`.
    `AbstractAggreGateDeviceController` | `getController()`
    `java.lang.String` | `getDescription()` Returns context description.
    `EventData` | `getEventData(java.lang.String name)` Returns `EventData` of event with specified name.
    `java.util.List<EventDefinition>` | `getEventDefinitions(CallerController caller, boolean hidden)` Returns list of events.
    `FunctionDefinition` | `getFunctionDefinition(java.lang.String name)` Returns definition of function with specified name.
    `java.util.List<FunctionDefinition>` | `getFunctionDefinitions(CallerController caller, boolean hidden)` Returns list of functions.
    `java.lang.String` | `getIconId()` Returns context icon ID.
    `java.lang.String` | `getLocalPath(java.lang.String remoteFullPath, boolean visible)`
    `java.lang.String` | `getLocalPrimaryRoot()` In distributed environment, returns path of the primary mount context in local tree.
    `java.lang.String` | `getLocalRoot(boolean withParent)` Returns path of the root context.
    `protected java.lang.String` | `getLocalVisiblePath(java.lang.String peerVisiblePath)`
    `protected java.lang.String` | `getPathDescription()`
    `java.lang.String` | `getPeerPath()` In distributed environment, returns path of the context on the server immediately connected to current server (current server's peer).
    `java.lang.String` | `getPeerRoot()` When a certain context subtree from one server is connected to another server, this method will return the remote path of this subtree's root context.
    `java.lang.String` | `getRemotePath()` In distributed environment, returns path of the context on the server where it's actually defined.
    `java.lang.String` | `getRemoteRoot()` Returns path of remote server's root context within a distributed connection.
    `DataTable` | `getRemoteVariable(VariableDefinition def)`
    `protected DataTable` | `getRemoteVariableImpl(VariableDefinition def)`
    `ContextStatus` | `getStatus()` Returns context status or null if status is not enabled;
    `java.lang.String` | `getType()` Returns context type.
    `VariableDefinition` | `getVariableDefinition(java.lang.String name)` Returns definition of variable with specified name.
    `java.util.List<VariableDefinition>` | `getVariableDefinitions(CallerController caller, boolean hidden)` Returns list of variables.
    `protected DataTable` | `getVariableImpl(VariableDefinition def, CallerController caller, RequestController request)`
    `java.util.List<C>` | `getVisibleChildren(CallerController caller)` Returns list of visible children contexts.
    `boolean` | `hasVisibleChild(java.lang.String path)`
    `void` | `initChildren()`
    `protected void` | `initChildrenImpl(DataTable children)`
    `protected void` | `initVisibleChildren()`
    `boolean` | `isContainer()` Returns true if context is container.
    `boolean` | `isDistributed()` Returns true if context has a remote peer in the distributed architecture.
    `boolean` | `isInitializedChildren()` This method should return true if the context has already been initialized its children.
    `boolean` | `isInitializedEvents()` This method should return true if the context has already been initialized its events.
    `boolean` | `isInitializedFunctions()` This method should return true if the context has already been initialized its functions.
    `boolean` | `isInitializedInfo()` This method should return true if the context has already been initialized its basic information (description, type, etc).
    `boolean` | `isInitializedStatus()` This method should return true if the context status has already been initialized.
    `boolean` | `isInitializedVariables()` This method should return true if the context has already been initialized its variables.
    `boolean` | `isMapped()` Returns true if context's visible children are mapped (e.g. for group and aggregation contexts).
    `boolean` | `isNotManageRemoteListeners()`
    `boolean` | `isProxy()` Returns true if context is a remote context's proxy.
    `protected java.util.Optional<FormatCache>` | `obtainFormatCache()`
    `void` | `reinitialize()`
    `boolean` | `removeEventListener(java.lang.String name, ContextEventListener contextEventListener)` Removes listener of event with specified name.
    `boolean` | `removeEventListener(java.lang.String name, ContextEventListener listener, boolean sendRemoteCommand)`
    `protected void` | `removeExistingChildren(DataTable children)`
    `void` | `removeVisibleChild(java.lang.String localVisiblePath)`
    `void` | `setContainer(boolean container)`
    `void` | `setNotManageRemoteListeners(boolean notManageRemoteListeners)`
    `protected void` | `setupFunctions()`
    `void` | `setupMyself()`
    `protected void` | `setupVariables()`
    `protected boolean` | `setVariableImpl(VariableDefinition def, CallerController caller, RequestController request, DataTable value)`
    `java.lang.String` | `toString()`

    - ### Methods inherited from class com.tibbo.aggregate.common.context.AbstractContext

      `accept, actDefFromDataRecord, actDefToDataRecord, addActionDefinition, addAlias, addChild, addChild, addChild, addChild, addEventDefinition, addEventListener, addFunctionDefinition, addVariableDefinition, addVariableRecord, addVariableRecord, applyCachedFormat, awaitInitialized, callFcopy, callFcopyToChildren, callFfireContextEvent, callFgetAliases, callFgetCopyData, callFunction, callFunction, callFunction, callFunction, callFunction, callFunction, callFunction, callFunction, callFupdateVariable, checkPermissions, checkPermissions, clearVariableStatuses, compareTo, copyTo, createContextInfoTable, destroy, destroyChild, destroyChildren, enableStatus, enableVariableStatuses, encodeFormat, ensureVariableStatuses, equals, evtDefFromDataRecord, evtDefToDataRecord, evtDefToDataRecord, executeDefaultGetter, executeDefaultGetter, executeDefaultGetter, executeDefaultGetterImpl, executeDefaultSetter, executeDefaultSetter, executeDefaultSetterImpl, executeTasks, executeTasks, executeTasksConcurrently, fetchVariableStatuses, fireChangeEvent, fireEvent, fireEvent, fireEvent, fireEvent, fireEvent, fireEvent, fireEvent, fireEvent, fireEvent, fireEvent, fireEvent, fireEvent, fireEvent, fireEventAdded, fireFunctionAdded, fireStatusChanged, fireUpdatedEvent, fireVariableAdded, funcDefFromDataRecord, funcDefToDataRecord, funcDefToDataRecord, get, getActionDefinition, getActionDefinitions, getActionDefinitions, getChangeEventDefinition, getChild, getChildren, getChildrenLock, getChildrenViewPermissions, getContextManager, getDefaultActionDefinition, getDefaultValue, getEventDataView, getEventDefinition, getEventDefinition, getEventDefinitions, getEventDefinitions, getEventDefinitions, getEventDefinitions, getEventHistory, getEventProcessingCallerController, getEventProcessingRule, getFunctionData, getFunctionDataView, getFunctionDefinition, getFunctionDefinitions, getFunctionDefinitions, getFunctionDefinitions, getFunctionDefinitions, getGroup, getIndex, getMappedChildren, getMappedChildren, getName, getParent, getPath, getPermissionChecker, getPermissions, getRoot, getVactions, getVariable, getVariable, getVariable, getVariableClone, getVariableData, getVariableDataView, getVariableDefinition, getVariableDefinitions, getVariableDefinitions, getVariableDefinitions, getVariableDefinitions, getVariableObject, getVariableStatus, getVchildren, getVevents, getVfunctions, getVinfo, getVisibleChildren, getVvariables, hashCode, hasMappedChild, hasParent, hasVisibleChild, isAllowSetterExecution, isAllowUpdatedEvents, isBelongedToTheGroup, isChildrenConcurrencyEnabled, isChildrenSortingEnabled, isDebuggingEvaluations, isEntityProtected, isFireUpdateEvents, isInstallationAllowed, isPermissionCheckingEnabled, isProtected, isSetupComplete, isStarted, isStopped, logAsyncSessionExecutionAction, move, moveFinalize, moveInternal, movePrepare, onIllegalDefinitionUpdated, persistVariableStatuses, postEvent, processBindings, processEvaluation, processEvaluationError, removeActionDefinition, removeChild, removeChild, removeEventDefinition, removeFromParent, removeFunctionDefinition, removeValues, removeVariableDefinition, removeVariableRecords, reorderChild, replicateVariableOnCopy, saveVariableStatuses, setChildrenConcurrencyEnabled, setChildrenSortingEnabled, setChildrenViewPermissions, setContextManager, setDescription, setFireUpdateEvents, setGroup, setIconId, setIndex, setName, setParent, setPermissionChecker, setPermissionCheckingEnabled, setPermissions, setStatus, setType, setup, setup, setupChildren, setupEvents, setupPermissions, setValueCheckingEnabled, setVariable, setVariable, setVariable, setVariable, setVariable, setVariableField, setVariableField, setVariableField, shouldSeeChild, start, stop, teardown, toDetailedString, updateEvent, updateEventDefinitions, updateFunctionAndAction, updateFunctionDefinitions, updatePrepare, updateVariableDefinitions, updateVariableStatus, validateVariableValueToSet, varDefFromDataRecord, varDefToDataRecord, varDefToDataRecord, variableUpdated`

    - ### Methods inherited from class java.lang.Object

      `clone, finalize, getClass, notify, notifyAll, wait, wait, wait`

    - ### Methods inherited from interface com.tibbo.aggregate.common.context.Context

      `setVariableField`

- - ### Field Detail

    - #### DURABLE_OPERATIONS_TIMEOUT

          public static final long DURABLE_OPERATIONS_TIMEOUT

      See Also:
        Constant Field Values

    - #### F_LOCAL_REINITIALIZE

          public static final java.lang.String F_LOCAL_REINITIALIZE

      See Also:
        Constant Field Values

  - ### Constructor Detail

    - #### ProxyContext

          public ProxyContext(java.lang.String name,
                              AbstractAggreGateDeviceController controller)

  - ### Method Detail

    - #### setupMyself

          public void setupMyself()
                           throws ContextException

      Overrides:
        `setupMyself` in class `AbstractContext<C extends Context>`
      Throws:
        `ContextException`

    - #### addLocalFunctionDefinitions

          protected void addLocalFunctionDefinitions()

    - #### decodeFormat

          protected TableFormat decodeFormat(java.lang.String source,
                                             CallerController caller)

      Overrides:
        `decodeFormat` in class `AbstractContext<C extends Context>`

    - #### clear

          public void clear()

    - #### initChildren

          public void initChildren()
                            throws ContextException

      Throws:
        `ContextException`

    - #### initVisibleChildren

          protected void initVisibleChildren()
                                      throws ContextException

      Throws:
        `ContextException`

    - #### convertRemoteDescription

          protected java.lang.String convertRemoteDescription(java.lang.String remoteDescription)

    - #### initChildrenImpl

          protected void initChildrenImpl(DataTable children)

    - #### removeExistingChildren

          protected void removeExistingChildren(DataTable children)

    - #### createChildContextProxy

          protected ProxyContext createChildContextProxy(java.lang.String name)

    - #### obtainFormatCache

          protected java.util.Optional<FormatCache> obtainFormatCache()

      Overrides:
        `obtainFormatCache` in class `AbstractContext<C extends Context>`
      Returns:
        format cache optional taken from current `AbstractContext.contextManager`

    - #### getDescription

          public java.lang.String getDescription()

      Description copied from interface: `Context`
      Returns context description.
      Specified by:
        `getDescription` in interface `Context<C extends Context>`
      Overrides:
        `getDescription` in class `AbstractContext<C extends Context>`

    - #### getType

          public java.lang.String getType()

      Description copied from interface: `Context`
      Returns context type.
      Specified by:
        `getType` in interface `Context<C extends Context>`
      Overrides:
        `getType` in class `AbstractContext<C extends Context>`

    - #### getLocalRoot

          public java.lang.String getLocalRoot(boolean withParent)

      Description copied from interface: `Context`
      Returns path of the root context. In distributed environment, returns path of the root context in remote (mounted) subtree.
      Specified by:
        `getLocalRoot` in interface `Context<C extends Context>`
      Overrides:
        `getLocalRoot` in class `AbstractContext<C extends Context>`

    - #### getRemoteRoot

          public java.lang.String getRemoteRoot()

      Description copied from interface: `Context`
      Returns path of remote server's root context within a distributed connection.
      Specified by:
        `getRemoteRoot` in interface `Context<C extends Context>`
      Overrides:
        `getRemoteRoot` in class `AbstractContext<C extends Context>`

    - #### getPeerRoot

          public java.lang.String getPeerRoot()

      Description copied from interface: `Context`
      When a certain context subtree from one server is connected to another server, this method will return the remote path of this subtree's root context. If current context doesn't have a remote peer, this method returns null.
      Specified by:
        `getPeerRoot` in interface `Context<C extends Context>`
      Overrides:
        `getPeerRoot` in class `AbstractContext<C extends Context>`

    - #### isMapped

          public boolean isMapped()

      Description copied from interface: `Context`
      Returns true if context's visible children are mapped (e.g. for group and aggregation contexts).
      Specified by:
        `isMapped` in interface `Context<C extends Context>`
      Overrides:
        `isMapped` in class `AbstractContext<C extends Context>`

    - #### get

          public C get(java.lang.String contextPath,
                       CallerController caller)

      Description copied from interface: `Context`
      Returns context with the selected path. `path` argument may be absolute of relative to this context. This method uses provided `CallerController` for permission checking.
      Specified by:
        `get` in interface `Context<C extends Context>`
      Overrides:
        `get` in class `AbstractContext<C extends Context>`

    - #### getIconId

          public java.lang.String getIconId()

      Description copied from interface: `Context`
      Returns context icon ID.
      Specified by:
        `getIconId` in interface `Context<C extends Context>`
      Overrides:
        `getIconId` in class `AbstractContext<C extends Context>`

    - #### getChild

          public C getChild(java.lang.String name,
                            CallerController callerController)

      Description copied from interface: `Context`
      Returns child of this context with the specified name. `path` argument may be absolute of relative to this context. Note: if this Context is a part of distributed context tree and path argument is not relative, the method will return local context matching its remote "peer" with given path. To get the local context with the given path, use `ContextManager.get(String, CallerController)` instead. This method uses provided `CallerController` for permission checking.
      Specified by:
        `getChild` in interface `Context<C extends Context>`
      Overrides:
        `getChild` in class `AbstractContext<C extends Context>`

    - #### getVariableDefinition

          public VariableDefinition getVariableDefinition(java.lang.String name)

      Description copied from interface: `Context`
      Returns definition of variable with specified name.
      Specified by:
        `getVariableDefinition` in interface `Context<C extends Context>`
      Overrides:
        `getVariableDefinition` in class `AbstractContext<C extends Context>`

    - #### getFunctionDefinition

          public FunctionDefinition getFunctionDefinition(java.lang.String name)

      Description copied from interface: `Context`
      Returns definition of function with specified name.
      Specified by:
        `getFunctionDefinition` in interface `Context<C extends Context>`
      Overrides:
        `getFunctionDefinition` in class `AbstractContext<C extends Context>`

    - #### getEventData

          public EventData getEventData(java.lang.String name)

      Description copied from interface: `Context`
      Returns `EventData` of event with specified name.
      Specified by:
        `getEventData` in interface `Context<C extends Context>`
      Overrides:
        `getEventData` in class `AbstractContext<C extends Context>`

    - #### getActionDefinition

          public ActionDefinition getActionDefinition(java.lang.String name)

      Description copied from interface: `Context`
      Returns action definition by name.
      Specified by:
        `getActionDefinition` in interface `Context<C extends Context>`
      Overrides:
        `getActionDefinition` in class `AbstractContext<C extends Context>`
      Parameters:
        `name` - Name of action

    - #### getVariableDefinitions

          public java.util.List<VariableDefinition> getVariableDefinitions(CallerController caller,
                                                                           boolean hidden)

      Description copied from interface: `Context`
      Returns list of variables.
      Specified by:
        `getVariableDefinitions` in interface `Context<C extends Context>`
      Overrides:
        `getVariableDefinitions` in class `AbstractContext<C extends Context>`

    - #### getFunctionDefinitions

          public java.util.List<FunctionDefinition> getFunctionDefinitions(CallerController caller,
                                                                           boolean hidden)

      Description copied from interface: `Context`
      Returns list of functions.
      Specified by:
        `getFunctionDefinitions` in interface `Context<C extends Context>`
      Overrides:
        `getFunctionDefinitions` in class `AbstractContext<C extends Context>`

    - #### getEventDefinitions

          public java.util.List<EventDefinition> getEventDefinitions(CallerController caller,
                                                                     boolean hidden)

      Description copied from interface: `Context`
      Returns list of events.
      Specified by:
        `getEventDefinitions` in interface `Context<C extends Context>`
      Overrides:
        `getEventDefinitions` in class `AbstractContext<C extends Context>`

    - #### getActionDefinitions

          public java.util.List<ActionDefinition> getActionDefinitions(CallerController caller,
                                                                       boolean hidden)

      Description copied from interface: `Context`
      Returns action definitions.
      Specified by:
        `getActionDefinitions` in interface `Context<C extends Context>`
      Overrides:
        `getActionDefinitions` in class `AbstractContext<C extends Context>`

    - #### getStatus

          public ContextStatus getStatus()

      Description copied from interface: `Context`
      Returns context status or null if status is not enabled;
      Specified by:
        `getStatus` in interface `Context<C extends Context>`
      Overrides:
        `getStatus` in class `AbstractContext<C extends Context>`

    - #### getController

          public AbstractAggreGateDeviceController getController()

    - #### setupVariables

          protected void setupVariables()
                                 throws ContextException

      Overrides:
        `setupVariables` in class `AbstractContext<C extends Context>`
      Throws:
        `ContextException`

    - #### getVariableImpl

          protected DataTable getVariableImpl(VariableDefinition def,
                                              CallerController caller,
                                              RequestController request)
                                       throws ContextException

      Overrides:
        `getVariableImpl` in class `AbstractContext<C extends Context>`
      Throws:
        `ContextException`

    - #### getRemoteVariable

          public DataTable getRemoteVariable(VariableDefinition def)
                                      throws ContextException

      Throws:
        `ContextException`

    - #### getRemoteVariableImpl

          protected DataTable getRemoteVariableImpl(VariableDefinition def)
                                             throws ContextException,
                                                    RemoteDeviceErrorException,
                                                    java.lang.InterruptedException,
                                                    DisconnectionException,
                                                    java.io.IOException,
                                                    SyntaxErrorException

      Throws:
        `ContextException`
        `RemoteDeviceErrorException`
        `java.lang.InterruptedException`
        `DisconnectionException`
        `java.io.IOException`
        `SyntaxErrorException`

    - #### setVariableImpl

          protected boolean setVariableImpl(VariableDefinition def,
                                            CallerController caller,
                                            RequestController request,
                                            DataTable value)
                                     throws ContextException

      Overrides:
        `setVariableImpl` in class `AbstractContext<C extends Context>`
      Throws:
        `ContextException`

    - #### setupFunctions

          protected void setupFunctions()
                                 throws ContextException

      Overrides:
        `setupFunctions` in class `AbstractContext<C extends Context>`
      Throws:
        `ContextException`

    - #### callFunctionImpl

          protected DataTable callFunctionImpl(FunctionDefinition def,
                                               CallerController caller,
                                               RequestController request,
                                               DataTable parameters)
                                        throws ContextException

      Overrides:
        `callFunctionImpl` in class `AbstractContext<C extends Context>`
      Throws:
        `ContextException`

    - #### callRemoteFunction

          protected DataTable callRemoteFunction(java.lang.String name,
                                                 TableFormat outputFormat,
                                                 DataTable parameters,
                                                 java.lang.String queueName,
                                                 boolean isReplyRequired)
                                          throws ContextException

      Throws:
        `ContextException`

    - #### addEventListener

          public boolean addEventListener(java.lang.String name,
                                          ContextEventListener contextEventListener,
                                          boolean weak)

      Description copied from interface: `Context`
      Adds listener of event with specified name. This method allows to add auto-cleaned listeners by setting weak flag to true.
      Specified by:
        `addEventListener` in interface `Context<C extends Context>`
      Overrides:
        `addEventListener` in class `AbstractContext<C extends Context>`

    - #### addEventListener

          public boolean addEventListener(java.lang.String name,
                                          ContextEventListener contextEventListener,
                                          boolean weak,
                                          boolean sendRemoteCommand)

    - #### removeEventListener

          public boolean removeEventListener(java.lang.String name,
                                             ContextEventListener contextEventListener)

      Description copied from interface: `Context`
      Removes listener of event with specified name.
      Specified by:
        `removeEventListener` in interface `Context<C extends Context>`
      Overrides:
        `removeEventListener` in class `AbstractContext<C extends Context>`

    - #### removeEventListener

          public boolean removeEventListener(java.lang.String name,
                                             ContextEventListener listener,
                                             boolean sendRemoteCommand)

    - #### getChildren

          public java.util.List<C> getChildren(CallerController caller)

      Description copied from interface: `Context`
      Returns list of children contexts that are accessible by the specified `CallerController`.
      Specified by:
        `getChildren` in interface `Context<C extends Context>`
      Overrides:
        `getChildren` in class `AbstractContext<C extends Context>`

    - #### getVisibleChildren

          public java.util.List<C> getVisibleChildren(CallerController caller)

      Description copied from interface: `Context`
      Returns list of visible children contexts.
      Specified by:
        `getVisibleChildren` in interface `Context<C extends Context>`
      Overrides:
        `getVisibleChildren` in class `AbstractContext<C extends Context>`

    - #### addVisibleChild

          public void addVisibleChild(java.lang.String localVisiblePath)

    - #### removeVisibleChild

          public void removeVisibleChild(java.lang.String localVisiblePath)

    - #### hasVisibleChild

          public boolean hasVisibleChild(java.lang.String path)

    - #### reinitialize

          public void reinitialize()
                            throws ContextException

      Throws:
        `ContextException`

    - #### fireEvent

          protected Event fireEvent(EventDefinition ed,
                                    DataTable data,
                                    int level,
                                    java.lang.Long id,
                                    java.util.Date creationtime,
                                    java.lang.Integer listener,
                                    CallerController caller,
                                    FireEventRequestController request,
                                    Permissions permissions)

      Overrides:
        `fireEvent` in class `AbstractContext<C extends Context>`

    - #### getPathDescription

          protected java.lang.String getPathDescription()

    - #### isProxy

          public boolean isProxy()

      Description copied from interface: `Context`
      Returns true if context is a remote context's proxy.
      Specified by:
        `isProxy` in interface `Context<C extends Context>`
      Overrides:
        `isProxy` in class `AbstractContext<C extends Context>`

    - #### isDistributed

          public boolean isDistributed()

      Description copied from interface: `Context`
      Returns true if context has a remote peer in the distributed architecture.
      Specified by:
        `isDistributed` in interface `Context<C extends Context>`
      Overrides:
        `isDistributed` in class `AbstractContext<C extends Context>`

    - #### getRemotePath

          public java.lang.String getRemotePath()

      Description copied from interface: `Context`
      In distributed environment, returns path of the context on the server where it's actually defined.
      Specified by:
        `getRemotePath` in interface `Context<C extends Context>`
      Overrides:
        `getRemotePath` in class `AbstractContext<C extends Context>`

    - #### getLocalPrimaryRoot

          public java.lang.String getLocalPrimaryRoot()

      Description copied from interface: `Context`
      In distributed environment, returns path of the primary mount context in local tree.
      Specified by:
        `getLocalPrimaryRoot` in interface `Context<C extends Context>`
      Overrides:
        `getLocalPrimaryRoot` in class `AbstractContext<C extends Context>`

    - #### getPeerPath

          public java.lang.String getPeerPath()

      Description copied from interface: `Context`
      In distributed environment, returns path of the context on the server immediately connected to current server (current server's peer).
      Specified by:
        `getPeerPath` in interface `Context<C extends Context>`
      Overrides:
        `getPeerPath` in class `AbstractContext<C extends Context>`

    - #### getLocalPath

          public java.lang.String getLocalPath(java.lang.String remoteFullPath,
                                               boolean visible)

    - #### getLocalVisiblePath

          protected java.lang.String getLocalVisiblePath(java.lang.String peerVisiblePath)

    - #### toString

          public java.lang.String toString()

      Overrides:
        `toString` in class `AbstractContext<C extends Context>`

    - #### isInitializedStatus

          public boolean isInitializedStatus()

      Description copied from interface: `Context`
      This method should return true if the context status has already been initialized.
      Specified by:
        `isInitializedStatus` in interface `Context<C extends Context>`
      Overrides:
        `isInitializedStatus` in class `AbstractContext<C extends Context>`
      Returns:
        true if basic context status has been initialized.

    - #### isInitializedInfo

          public boolean isInitializedInfo()

      Description copied from interface: `Context`
      This method should return true if the context has already been initialized its basic information (description, type, etc).
      Specified by:
        `isInitializedInfo` in interface `Context<C extends Context>`
      Overrides:
        `isInitializedInfo` in class `AbstractContext<C extends Context>`
      Returns:
        true if basic context information has been initialized.

    - #### isInitializedChildren

          public boolean isInitializedChildren()

      Description copied from interface: `Context`
      This method should return true if the context has already been initialized its children.
      Specified by:
        `isInitializedChildren` in interface `Context<C extends Context>`
      Overrides:
        `isInitializedChildren` in class `AbstractContext<C extends Context>`
      Returns:
        true if context children have been initialized.

    - #### isInitializedVariables

          public boolean isInitializedVariables()

      Description copied from interface: `Context`
      This method should return true if the context has already been initialized its variables.
      Specified by:
        `isInitializedVariables` in interface `Context<C extends Context>`
      Overrides:
        `isInitializedVariables` in class `AbstractContext<C extends Context>`
      Returns:
        true if context variables have been initialized.

    - #### isInitializedFunctions

          public boolean isInitializedFunctions()

      Description copied from interface: `Context`
      This method should return true if the context has already been initialized its functions.
      Specified by:
        `isInitializedFunctions` in interface `Context<C extends Context>`
      Overrides:
        `isInitializedFunctions` in class `AbstractContext<C extends Context>`
      Returns:
        true if context functions have been initialized.

    - #### isInitializedEvents

          public boolean isInitializedEvents()

      Description copied from interface: `Context`
      This method should return true if the context has already been initialized its events.
      Specified by:
        `isInitializedEvents` in interface `Context<C extends Context>`
      Overrides:
        `isInitializedEvents` in class `AbstractContext<C extends Context>`
      Returns:
        true if context events have been initialized.

    - #### isNotManageRemoteListeners

          public boolean isNotManageRemoteListeners()

    - #### isContainer

          public boolean isContainer()

      Description copied from interface: `Context`
      Returns true if context is container.
      Specified by:
        `isContainer` in interface `Context<C extends Context>`
      Overrides:
        `isContainer` in class `AbstractContext<C extends Context>`

    - #### setContainer

          public void setContainer(boolean container)

    - #### setNotManageRemoteListeners

          public void setNotManageRemoteListeners(boolean notManageRemoteListeners)