## Uses of Interface
de.esprit.netsuite.server.ServerObject

- Packages that use ServerObject
  Package | Description
  --- | ---
  de.esprit.netsuite.client.abo.std | Contains standard client ABOs
  de.esprit.netsuite.client.gui.rtask | Contains GUI components dealing with remote tasks
  de.esprit.netsuite.client.info | Contains classes for requesting detailed client info
  de.esprit.netsuite.client.tool.pathtree.action | Contains path-tree related standard actions
  de.esprit.netsuite.client.tool.pathtree.agent | Contains agents for remote file-tree support
  de.esprit.netsuite.client.tool.permission.agent | Contains agents for permission management support
  de.esprit.netsuite.netdata | Contains serializable objects which are interchanged between client and server
  de.esprit.netsuite.netdata.agent | Contains base classes for implementing custom network agents
  de.esprit.netsuite.netdata.agent.common | Contains network agents for common use
  de.esprit.netsuite.netdata.agent.coserver | Contains co-server related Agents
  de.esprit.netsuite.netdata.agent.database | Contains database related network agents for reading/writing records from/to the database
  de.esprit.netsuite.netdata.agent.internal | Contains network agents for internal useage only
  de.esprit.netsuite.netdata.agent.internal.abo | Contains Agents for managing Alive Business Objects (ABOs)
  de.esprit.netsuite.netdata.agent.internal.config | Contains Agents dealing with server configuration parameters
  de.esprit.netsuite.netdata.agent.internal.session | Contains network agents used for user and group management.
  de.esprit.netsuite.netdata.agent.internal.srvlock | Contains Agents dealing with ResourceLocks
  de.esprit.netsuite.netdata.agent.internal.srvlog | Contains Agents dealing with server log file management
  de.esprit.netsuite.netdata.agent.internal.srvproc | Contains Agents dealing with server processes
  de.esprit.netsuite.netdata.agent.internal.transfer | Contains Agents dealing with file transfers
  de.esprit.netsuite.netdata.agent.internal.transfer.demo | Contains examples for file transfers
  de.esprit.netsuite.netdata.agent.test | Contains network agents for testing purposes only
  de.esprit.netsuite.rtask | Contains extensions for RemoteAsyncTask support
  de.esprit.netsuite.rtask.journal | Contains the classes implementing journalled remote tasks
  de.esprit.netsuite.server | These classes make up the EsprIT server
  de.esprit.netsuite.server.abo | Contains server classes for working with Alive Business Objects (ABOs)
  de.esprit.netsuite.server.abo.loadmeter | Contains ABOs that measure the server load
  de.esprit.netsuite.server.auth | Contains classes for server side user authentication
  de.esprit.netsuite.server.auth.dbuser | Contains a sample User and Group implemantation for database stroage
  de.esprit.netsuite.server.auth.member | Contains classes for managing user and group assignments
  de.esprit.netsuite.server.batch | Contains classes that implement and manage the available server processes
  de.esprit.netsuite.server.chmesg | Contains classes that make up the Dual-Port Servers message service
  de.esprit.netsuite.server.chreq | Contains classes that make up the Dual-Port Servers request/response oriented data service
  de.esprit.netsuite.server.chxfer | Contains classes that make up the server's transfer channel
  de.esprit.netsuite.server.core | Contains basic server core classes
  de.esprit.netsuite.server.coserver | Contains co-server related classes
  de.esprit.netsuite.server.cpu | Contains classes of the positioner tool (MVC-demo)
  de.esprit.netsuite.server.db | Contains classes for server side database configuration.
  de.esprit.netsuite.server.hist | Contains classes implementing the servers task history
  de.esprit.netsuite.server.lock | Contains classes for managing temporary edit locks on server resources
  de.esprit.netsuite.server.netch | Contains classes that build the server network adapter
  de.esprit.netsuite.server.netch.io | Contains implementation classes for Socket based network IO
  de.esprit.netsuite.server.pathtree | Contains classes for remote file-tree access
  de.esprit.netsuite.server.permission | These classes implement the permission system of the esprit server
  de.esprit.netsuite.server.webserver | Contains classes that make up the built in web server

- - ### Uses of ServerObject in de.esprit.netsuite.client.abo.std

    Classes in de.esprit.netsuite.client.abo.std that implement ServerObject
    Modifier and Type | Class and Description
    --- | ---
    `class` | `ServerStatisticABO` This ABO provides the server side singleton `ServerStatistic` instance to clients.
    `class` | `SimpleTrackABO` This is a sample `AbstractSingletonABO` for positioning a point within a rectangular area.
    `class` | `TankABO` This is a sample persistent `AliveBusinessObject` built on a `DBO_tnt_tank` database record.

  - ### Uses of ServerObject in de.esprit.netsuite.client.gui.rtask

    Classes in de.esprit.netsuite.client.gui.rtask that implement ServerObject
    Modifier and Type | Class and Description
    --- | ---
    `class` | `RegisterForProgressEventsAgent<C extends ClientContext,S extends ServerContext>` This class ...
    `class` | `RemoteTaskDefaultEventForwarder<S extends ServerContext,C extends CoClientContext>` This implementation forwards all `RemoteTaskEvent`s received by a `AbstractClientEDT` via the server's message channel to all clients.
    `class` | `RemoteTaskProgessSwitchAgent<C extends ClientContext,S extends ServerContext>` This class ...
    `class` | `RemoteTaskProgressEventForwarder<S extends ServerContext,C extends CoClientContext>` This implementation is supposed to control PROGRESS events of an `AbstractOsProcessTask` in a special way.
    `class` | `RemoteTaskRunStateFlagAgent` This agent fetches the `RemoteRunStateFlag`s of the currently running remote tasks.

  - ### Uses of ServerObject in de.esprit.netsuite.client.info

    Classes in de.esprit.netsuite.client.info that implement ServerObject
    Modifier and Type | Class and Description
    --- | ---
    `class` | `ClientInfoUpdateAgent` This Agent reads the current `ClientInfo` and updates it in the `Session` on the server.
    `class` | `SessionInfoAgent` This Agent requests an up to date `ClientInfo` object from one or all clients.

  - ### Uses of ServerObject in de.esprit.netsuite.client.tool.pathtree.action

    Classes in de.esprit.netsuite.client.tool.pathtree.action that implement ServerObject
    Modifier and Type | Class and Description
    --- | ---
    `class` | `RemoteArchiveExtractTask` This task performs the remote archive extraction.
    `class` | `RemoteArchiveListTask<S extends ServerContext>` This task performs the remote archive listing.

  - ### Uses of ServerObject in de.esprit.netsuite.client.tool.pathtree.agent

    Classes in de.esprit.netsuite.client.tool.pathtree.agent that implement ServerObject
    Modifier and Type | Class and Description
    --- | ---
    `class` | `GetPathFilterAgent` This agent stops the watch-service of the servers `ServerPathTreeModelDriver`.
    `class` | `GetRootPathInfoAgent` This agent fetches the root node from the server.
    `class` | `LoadChildrenAgent` This agent reads the children of a particular node of the servers `PathTree`.
    `class` | `RenamePathAgent` This agent stops the watch-service of the servers `ServerPathTreeModelDriver`.
    `class` | `ResetPathWatcherAgent` This agent stops the watch-service of the servers `ServerPathTreeModelDriver`.
    `class` | `SetPathFilterAgent` This agent stops the watch-service of the servers `ServerPathTreeModelDriver`.

  - ### Uses of ServerObject in de.esprit.netsuite.client.tool.permission.agent

    Classes in de.esprit.netsuite.client.tool.permission.agent that implement ServerObject
    Modifier and Type | Class and Description
    --- | ---
    `class` | `AssignPermissionsAgent` This agents assigns permissions to the given owner for the given object.
    `class` | `GetAssignedPermissionsAgent` This agent reads the assigned permissions on a given object for the given owner
    `class` | `GetPermissionDefinitionsAgent` This agent reads the permission-definitions of all controlled objects from the server.

  - ### Uses of ServerObject in de.esprit.netsuite.netdata

    Subinterfaces of ServerObject in de.esprit.netsuite.netdata
    Modifier and Type | Interface and Description
    --- | ---
    `interface` | `CrossPlatformObject<C extends ClientContext,S extends ServerContext>` This interface defines methods for objects that can live in both client and server environments

    Classes in de.esprit.netsuite.netdata that implement ServerObject
    Modifier and Type | Class and Description
    --- | ---
    `class` | `AbstractCrossPlatformObject<C extends ClientContext,S extends ServerContext>` This is the base class for objects that can live in both client and server environments
    `class` | `AbstractServerModel<S extends ServerContext>` This is a base implementation for a server side model which provides simple support for client access tracking.
    `class` | `AbstractSessionServerModel` This `AbstractServerModel` implementation maintains a list of registered `SessionId`s.

  - ### Uses of ServerObject in de.esprit.netsuite.netdata.agent

    Subinterfaces of ServerObject in de.esprit.netsuite.netdata.agent
    Modifier and Type | Interface and Description
    --- | ---
    `interface` | `Agent<C extends ClientContext,S extends ServerContext>` An Agent object is being sent within a `NetRequest` to the server for execution by calling one of its send... methods.
    `interface` | `AsyncAgent<C extends ClientContext,S extends ServerContext>` This interface adds support for running an agent asynchronously on the server.
    `interface` | `LoginAgent<C extends ClientContext,S extends ServerContext>` This interface must be implemented by the agent that is used for user login.

    Classes in de.esprit.netsuite.netdata.agent that implement ServerObject
    Modifier and Type | Class and Description
    --- | ---
    `class` | `AbstractAgent<C extends ClientContext,S extends ServerContext>` This is the abstract base class for all Agent implementations.
    `class` | `AbstractCommonAgent<C extends ClientContext,S extends ServerContext>` Agents of this type are for common usage and supposed to be extended for custom applications.
    `class` | `AbstractInternalAgent` This is a template for a UserAgent
    `class` | `AbstractLockableAgent<C extends ClientContext,S extends ServerContext>` This agent has some convenience support for resource locking
    `class` | `AbstractSequencedAgent<C extends ClientContext,S extends ServerContext>` This agent allows for sending huge results in multiple chunks to the client.
    `class` | `AbstractTestAgent` This is the base class for agents that are used for testing purposes.
    `class` | `AbstractTextViewAgent<C extends ClientContext,S extends ServerContext>` This Agent pops up a `TextEditorFrame` with the information it has fetched from the server.
    `class` | `LoadTextFileSequencedAgent` This agent reads a text file on server side and fills a client side `TextPrintable` component.

  - ### Uses of ServerObject in de.esprit.netsuite.netdata.agent.common

    Classes in de.esprit.netsuite.netdata.agent.common that implement ServerObject
    Modifier and Type | Class and Description
    --- | ---
    `class` | `ABOInfoAgent<C extends ClientContext,S extends ServerContext>` This agent reads access information about a particular ABO
    `class` | `AbstractLoginAgent<C extends ClientContext,S extends ServerContext>` This agent is executed automatically after a successful login.
    `class` | `ChangePasswordAgent<C extends ClientContext,S extends ServerContext>` This agent performs a password change for the current login user.
    `class` | `ClientMessageAgent<C extends ClientContext,S extends ServerContext>` This agent allows for sending a message from one client to another or just to all clients.
    `class` | `DefaultLoginAgent<C extends ClientContext,S extends ServerContext>` This agent performs the initialization for a user login.
    `class` | `DeleteDirectoryAgent<C extends ClientContext,S extends ServerContext>` This agent deletes a server-file if it is not locked by another session.
    `class` | `DeleteFileAgent<C extends ClientContext,S extends ServerContext>` This agent deletes a server-file if it is not locked by another session.
    `class` | `FileEditAgent<C extends ClientContext,S extends ServerContext>` This agent is supposed to edit a file while holding a ResourceLock on the server.
    `class` | `FileInfoAgent<C extends ClientContext,S extends ServerContext>` This agent reads file information about a particular file or directory from the server
    `class` | `FileListAgent<C extends ClientContext,S extends ServerContext>` This agent lists the files within a server directory
    `class` | `FileReadAgent<C extends ClientContext,S extends ServerContext>` This agent reads the content of a text file and transfers it as a zipped byte array.
    `class` | `FileStoreAgent<C extends ClientContext,S extends ServerContext>` This agent stores a file on the server while holding a ResourceLock for it.
    `class` | `PurgeDirectoryAgent<C extends ClientContext,S extends ServerContext>` This agent deletes the content of the given server directory.
    `class` | `ServerMemoryCleanupAgent<C extends ClientContext,S extends ServerContext>` This agent kicks the garbage collector on the server.

  - ### Uses of ServerObject in de.esprit.netsuite.netdata.agent.coserver

    Classes in de.esprit.netsuite.netdata.agent.coserver that implement ServerObject
    Modifier and Type | Class and Description
    --- | ---
    `class` | `CoClientConnectionListAgent` This agent reads the list of co-clients currently connected to the server
    `class` | `CoServerConnectionListAgent` This agent reads the list of the server's current co-server connections
    `class` | `CoServerInfoAgent` This agent reads both the list of co-server and co-client connections

  - ### Uses of ServerObject in de.esprit.netsuite.netdata.agent.database

    Classes in de.esprit.netsuite.netdata.agent.database that implement ServerObject
    Modifier and Type | Class and Description
    --- | ---
    `class` | `AbstractDBAgent` This agent performs a database operation such as insert/update/delete/rehash on a set of records in the database.
    `class` | `DBDeleteAgent` This agent deletes records from the database.
    `class` | `DBInsertAgent` This agent inserts records into the database.
    `class` | `DBLoadAgent` This agent reads records from the database and sends them in multiple chunks to the client
    `class` | `DBRehashAgent` This agent rehashes records from the database.
    `class` | `DBSelectAgent` This agent reads a set of records from the database according to the given condition and order.
    `class` | `DBStoreAgent` This agent inserts or updates records depending on whether or not they exist already in the database.
    `class` | `DBUpdateAgent` This agent updates records in the database.
    `class` | `ProbeDataSourceAgent` This agent checks all DataSource connections and prints info about them

  - ### Uses of ServerObject in de.esprit.netsuite.netdata.agent.internal

    Classes in de.esprit.netsuite.netdata.agent.internal that implement ServerObject
    Modifier and Type | Class and Description
    --- | ---
    `class` | `ChatMessageAgent` This Agent sends a ChatMessageEvent to the recipients
    `class` | `ClientCommandAgent` This agent sends a command message for execution to all target clients defined within the command
    `class` | `DataSourceListAgent` This agent reads all configured data sources from the server
    `class` | `DefaultPasswordConfigAgent` This agent sets the default user password in the srv_param.cfg file
    `class` | `EventMessageTypeInfoAgent` This agent fetches the currently registered message types from the server
    `class` | `EventMessageTypeRegisterAgent` This agent is used to register/deregister the `TrayIcon.MessageType`s of server messages which the client wants to receive.
    `class` | `GetRunningRemoteTasksAgent` This agent reads the list of async agents that are currently running on the server
    `class` | `LockDataSourcePoolAgent` This agent fetches an exclusive lock on the data source pool
    `class` | `RemoteTasksInfoAgent` This agent fetches the `TaskId`s of all remote running tasks
    `class` | `ResetPasswordAgent` This Agent resets or clears the password of the given user
    `class` | `SelectDataSourceAgent` This agent makes the requested datasource the current one
    `class` | `ServerActivityInfoAgent` This agent reads the current active tasks on the server
    `class` | `ServerLogTestAgent` This agent prints log messages of all `LogLevel`s on the server.
    `class` | `ServerParamsInfoAgent` This agent reads server config params from the configuration file of the server
    `class` | `ServerShutdownAgent` This agent kills all clients and finally shuts the server down
    `class` | `ServerStartupInfoAgent` This agent reads the unmodifyable server startup parameters
    `class` | `ServerStatisticsInfoAgent` This agent reads the current server statistics values
    `class` | `ServerStatisticsRefreshAgent` This agent fetches a snapshot of the current `ServerStatistic` instance.
    `class` | `SetClientLogLevelAgent` This agent sends a SetClientLogLevelCommand to all clients
    `class` | `ThreadPoolInfoAgent` This agent reads the unmodifyable server startup parameters
    `class` | `TimeCompareAgent` This agent compares client and server time and time-zone and time-stamp values.

  - ### Uses of ServerObject in de.esprit.netsuite.netdata.agent.internal.abo

    Classes in de.esprit.netsuite.netdata.agent.internal.abo that implement ServerObject
    Modifier and Type | Class and Description
    --- | ---
    `class` | `ABOAccessInfoAgent` This agent fetches the current ABO Access information from the server.
    `class` | `ABOCreateAgent<I extends AliveBusinessObject>` This agent creates an `AliveBusinessObject`.
    `class` | `ABODeleteAgent` This agent deletes a BusinessObject.
    `class` | `ABODropAgent` This agent drops a BusinessObject from the server side business object cache.
    `class` | `ABOFetchAgent<A extends AliveBusinessObject>` This agent fetches an `AliveBusinessObject` from the server.
    `class` | `ABOFindAgent<A extends AliveBusinessObject>` This agent creates a BusinessObject.
    `class` | `ABOUpdateAgent` This agent updates a change of an `AliveBusinessObject` in the `ABOServerCache`.

  - ### Uses of ServerObject in de.esprit.netsuite.netdata.agent.internal.config

    Classes in de.esprit.netsuite.netdata.agent.internal.config that implement ServerObject
    Modifier and Type | Class and Description
    --- | ---
    `class` | `CpuLoadConfigAgent` This agent is used to configure the cpu load parameters
    `class` | `EmailConfigAgent` This agent is used to configure the email parameters

  - ### Uses of ServerObject in de.esprit.netsuite.netdata.agent.internal.session

    Classes in de.esprit.netsuite.netdata.agent.internal.session that implement ServerObject
    Modifier and Type | Class and Description
    --- | ---
    `class` | `AbstractGroupChangeAgent` This agent stores group changes in the servers group database
    `class` | `AbstractSessionChangeAgent` This agent sends a command message for execution to all target clients defined within the command
    `class` | `AbstractUserChangeAgent` This agent makes changes in the servers user database
    `class` | `GetGroupsAgent` This agent reads the list of configured groups from the servers group database
    `class` | `GetGroupsOfUserAgent` This agent reads the list of configured groups from the servers group database
    `class` | `GetSessionsAgent` This agent reads the list of clients currently logged in
    `class` | `GetUserIdsAgent` This agent reads the list of configured userIds from the server
    `class` | `GetUsersAgent` This agent reads the list of configured users from the server
    `class` | `GetUsersOfGroupAgent` This agent reads the list of configured groups from the servers group database
    `class` | `GroupCreateAgent` This agent inserts a new group into the servers group database
    `class` | `GroupDeleteAgent` This agent stores removes a group from the servers group database
    `class` | `GroupUpdateAgent` This agent stores the modified group in the servers group database
    `class` | `SessionKillAgent` This agent sends a command message for execution to all target clients defined within the command
    `class` | `SessionResetAgent` This agent sends a command message for execution to all target clients defined within the command
    `class` | `SetGroupMembersAgent` This agent reads the list of configured groups from the servers group database
    `class` | `UserCreateAgent` This agent inserts a new user in the servers user database.
    `class` | `UserDeleteAgent` This agent deletes a user from the servers user database.
    `class` | `UserUpdateAgent` This agent updates a user in the servers user database.

  - ### Uses of ServerObject in de.esprit.netsuite.netdata.agent.internal.srvlock

    Classes in de.esprit.netsuite.netdata.agent.internal.srvlock that implement ServerObject
    Modifier and Type | Class and Description
    --- | ---
    `class` | `LockAcquireAgent<C extends ClientContext,S extends ServerContext>` This agent acquires the desired lock on the server.
    `class` | `LockFindAgent` This agent reads the list of resource locks currently hold
    `class` | `LockInfoAgent` This agent searches a particular lock which is hold on the server
    `class` | `LockReleaseAgent` This agent releases the given ResourceLock on the server
    `class` | `LockRetriggerAgent` This agent retriggers the given list of `ResourceLock`s on the server

  - ### Uses of ServerObject in de.esprit.netsuite.netdata.agent.internal.srvlog

    Classes in de.esprit.netsuite.netdata.agent.internal.srvlog that implement ServerObject
    Modifier and Type | Class and Description
    --- | ---
    `class` | `LogConfigAgent` This agent is used to configure the logging parameters
    `class` | `LogDirListAgent` This agent reads the sub-directories in the servers log-directory.
    `class` | `LogFileListAgent` This class reads the current list of server logfiles
    `class` | `NewLogFileAgent` This agent opens a new logfile on the server
    `class` | `ReadLogFileAgent` This agent reads the content of a log file and transfers it as a zipped byte array.

  - ### Uses of ServerObject in de.esprit.netsuite.netdata.agent.internal.srvproc

    Classes in de.esprit.netsuite.netdata.agent.internal.srvproc that implement ServerObject
    Modifier and Type | Class and Description
    --- | ---
    `class` | `BatchTaskConfigListAgent` This agent reads the list of configured server-processes from the server
    `class` | `BatchTaskConfigSaveAgent` This agent reads server config params from the configuration file of the server
    `class` | `CancelBatchProcessAgent` This agent reads the list of configured server-processes from the server
    `class` | `ProcessConfigReadAgent` This agent reads server config params from the configuration file of the server
    `class` | `ProcessStartAgent` This agent reads the list of configured server-processes from the server

  - ### Uses of ServerObject in de.esprit.netsuite.netdata.agent.internal.transfer

    Classes in de.esprit.netsuite.netdata.agent.internal.transfer that implement ServerObject
    Modifier and Type | Class and Description
    --- | ---
    `class` | `FileStreamDownloadAgent<C extends ClientContext,S extends ServerContext>` This agent performs a file stream download for the given `FileStreamJob`.
    `class` | `FileTransferAgent<C extends ClientContext,S extends ServerContext>` This agent performs a bidirectional file transfer for the `FileTransferJob`s which it contains.
    `class` | `TransfersRunningListAgent` This agent reads the list of file transfers that are currently running

  - ### Uses of ServerObject in de.esprit.netsuite.netdata.agent.internal.transfer.demo

    Classes in de.esprit.netsuite.netdata.agent.internal.transfer.demo that implement ServerObject
    Modifier and Type | Class and Description
    --- | ---
    `class` | `ExFileSetTransferAgent` This class demonstrates the transfer of a simple file set for testing purposes only.
    `class` | `ExFileTransferAgent` This class demonstrates the transfer of a single file for testing purposes only.
    `class` | `ExMixedFileTransferAgent` This class demonstrates a mixed up- and download of a file set for testing purposes only.
    `class` | `ExStreamDownloadAgent` This class demonstrates the transfer of a single file for testing purposes only.

  - ### Uses of ServerObject in de.esprit.netsuite.netdata.agent.test

    Classes in de.esprit.netsuite.netdata.agent.test that implement ServerObject
    Modifier and Type | Class and Description
    --- | ---
    `class` | `CoServerExecuteAgent` This agent is being executed on all reachable servers and its coServers
    `class` | `CoServerFileTransferAgent` This test agent performs a file transfer between server and co-server
    `class` | `CoServerFileTransferCancelAgent` This test agent cancels a file transfer between server and co-server
    `class` | `EverBlockingSyncAgent` This is a sample agent that blocks forever in sync execution.
    `class` | `EverSleepingAsyncAgent` This is a sample agent that sleeps for the specified timeout or forever if no timeout was specified.
    `class` | `EverWorkingAsyncAgent` This is a sample agent that works until the specified timeout is reached or forever if no timeout was specified.
    `class` | `FailingAgent` This is a sample agent for testing all types of agent processing errors that can happen
    `class` | `GenerateLogMessagesAgent` This agent adds a number of log messages to the `DBO_tnt_logmsg` table
    `class` | `HeavyLoadAgent` This is a sample agent for testing timeouts
    `class` | `HeavyLoggingAgent` This is a sample agent for testing timeouts
    `class` | `MemoryEatingAgent` This agent eats up all available memory and will lead to an OutOfMemoryException in the VM.
    `class` | `MessageBurstAgent` This agent adds a number of log messages to the `DBO_tnt_logmsg` table
    `class` | `MessageBurstSequencedAgent` This agent sends a burst of messages to all clients just for testing purposes.
    `class` | `NoOperationAgent` This agent is just for testing
    `class` | `NoReturnAsyncAgent` This is a sample no-return agent that sleeps on the server forever.
    `class` | `PartialResultAsyncAgent` This agent provides a partial result in a message
    `class` | `PartialResultSplitAgent` This agent provides partial result in response and message
    `class` | `PartialResultSyncAgent` This agent provides a partial result in a response
    `class` | `RoundTripAgent` This agent is supposed to measure the round-trip time of an agent
    `class` | `SendServerMessageAgent` This agent causes the server to send server-messages to all clients for testing purposes.
    `class` | `SequencedParamAgent` This agent demonstrates the usage of client side agent parameters, which are stored in a client cache.
    `class` | `ServerLogMessageAgent` This is a sample agent for testing purposes
    `class` | `TestServerExceptionAgent` This agent throws an intentional ServerException for testing correct language translation

  - ### Uses of ServerObject in de.esprit.netsuite.rtask

    Subinterfaces of ServerObject in de.esprit.netsuite.rtask
    Modifier and Type | Interface and Description
    --- | ---
    `interface` | `RemoteTask<S extends ServerContext>` This interface defines how a remote `AsyncTask` is being submitted to a pool.

    Classes in de.esprit.netsuite.rtask that implement ServerObject
    Modifier and Type | Class and Description
    --- | ---
    `class` | `AbstractRemoteOsProcessTask<S extends ServerContext>` This class runs an OS-process within a remote task on the server
    `class` | `AbstractRemoteTask<S extends ServerContext>` This is an `AsyncTask` which runs on server side and is owned by a user session.
    `class` | `AbstractServerTask<S extends ServerContext>` This async task is supposed to run in a `ServerContext` environment within any server's thread pool which is yet to be specified.
    `class` | `CoServerBindTask<S extends ServerContext>` This is a special task that actually consists of two coupled tasks.
    `class` | `RemoteJavaCommandTask<S extends ServerContext>` This OS-process task executes on server side and runs a Java program within a separate Virtual Machine.
    `class` | `RemoteTaskCancelAgent` This agent tries to cancel a remotely running `AsyncTask` by its `RemoteTaskId`.
    `class` | `RemoteTaskMonitor<S extends ServerContext>` This `TaskMonitor` sends `RemoteTaskEvent`s to the client for synchronization.
    `class` | `RemoteTaskReleaseAgent<C extends ClientContext,S extends ServerContext>` This agent executes a `RemoteTask` within its `RemoteTaskReleaseAgent.executeOnServer()` method.
    `class` | `RemoteTaskStartAgent<C extends ClientContext,S extends ServerContext>` This agent executes a `RemoteTask` within its `RemoteTaskStartAgent.executeOnServer()` method.

  - ### Uses of ServerObject in de.esprit.netsuite.rtask.journal

    Subinterfaces of ServerObject in de.esprit.netsuite.rtask.journal
    Modifier and Type | Interface and Description
    --- | ---
    `interface` | `JournalTask<S extends ServerContext>` This interface defines what a journal task is able to to.

    Classes in de.esprit.netsuite.rtask.journal that implement ServerObject
    Modifier and Type | Class and Description
    --- | ---
    `class` | `AbstractJournalOsProcessTask<S extends ServerContext>` This is a OS-process task that runs as a reattachable `JournalTask`
    `class` | `AbstractJournalTask<S extends ServerContext>` This is the base class for all journal remote tasks.
    `class` | `JournalTaskDeregisterAgent<C extends ClientContext,S extends ServerContext>` This agent de-registers a `JournalTask` from the `ServerTaskManager`.
    `class` | `JournalTaskListAgent<C extends ClientContext,S extends ServerContext>` This agent fetches the currently running journal tasks from the server.
    `class` | `JournalTaskMonitor<S extends ServerContext>` This is a special `RemoteTaskMonitor` which stores all `RemoteTaskEvent`s sent in a journalList.

  - ### Uses of ServerObject in de.esprit.netsuite.server

    Classes in de.esprit.netsuite.server that implement ServerObject
    Modifier and Type | Class and Description
    --- | ---
    `class` | `AbstractInitializableServerObject<S extends ServerContext>` This is the base class for server classes that manage a `ServerContext`
    `class` | `AbstractServerObject<S extends ServerContext>` This is the base class for server classes that manage a `ServerContext`

  - ### Uses of ServerObject in de.esprit.netsuite.server.abo

    Subinterfaces of ServerObject in de.esprit.netsuite.server.abo
    Modifier and Type | Interface and Description
    --- | ---
    `interface` | `AliveBusinessObject<C extends ClientContext,S extends ServerContext,A extends AliveBusinessObject>` Alive business objects (ABOs) are server side singletons, stored in special server side cache.

    Classes in de.esprit.netsuite.server.abo that implement ServerObject
    Modifier and Type | Class and Description
    --- | ---
    `class` | `ABOAccessList` This class ...
    `class` | `ABOServerCache` This is a cache for all accessed `AliveBusinessObject` instances.
    `class` | `AbstractABO<C extends ClientContext,S extends ServerContext,I extends AliveBusinessObject>` This is the base class for all server side `AliveBusinessObject`s (ABOs)
    `class` | `AbstractDBRecordABO<C extends ClientContext,S extends ServerContext,I extends AliveBusinessObject>` This is a wrapper for an ABO instance which implements the `DBRecord` interface and thus can be handled by `DBRecordTable`, `DBRecordList` and other `DBRecord` capable classes.
    `class` | `AbstractPersistentABO<C extends ClientContext,S extends ServerContext,I extends AliveBusinessObject>` This is the base class for business objects based on a database persistent record.
    `class` | `AbstractSingletonABO<C extends ClientContext,S extends ServerContext,I extends AbstractSingletonABO>` This is the base class for all Singleton ABOs.

  - ### Uses of ServerObject in de.esprit.netsuite.server.abo.loadmeter

    Classes in de.esprit.netsuite.server.abo.loadmeter that implement ServerObject
    Modifier and Type | Class and Description
    --- | ---
    `class` | `AbstractLoadMeterABO` This is the base class for all server statistics tracking ABOs.
    `class` | `ClientMeterABO` This ABO measures the current client count
    `class` | `MessageMeterABO` This ABO measures the current messages/min count
    `class` | `RequestMeterABO` This ABO measures the current requests/min count
    `class` | `TaskMeterABO` This ABO measures the number of tasks currently running

  - ### Uses of ServerObject in de.esprit.netsuite.server.auth

    Classes in de.esprit.netsuite.server.auth that implement ServerObject
    Modifier and Type | Class and Description
    --- | ---
    `class` | `AbstractGroupManager<S extends ServerContext>` This GroupManager implementation provides the basic framework for managing groups.
    `class` | `AbstractUserManager<S extends ServerContext>` This class manages an internal cache of User objects and provides a default implementation for the UserManager methods
    `class` | `DefaultGroupManager<S extends ServerContext>` This implementation stores groups in the srv_group.cfg config file as NDF records.
    `class` | `DefaultUserManager` This implementation manages users in the srv_user.cfg config file as NDF records.

  - ### Uses of ServerObject in de.esprit.netsuite.server.auth.dbuser

    Classes in de.esprit.netsuite.server.auth.dbuser that implement ServerObject
    Modifier and Type | Class and Description
    --- | ---
    `class` | `DBGroupManager` This is a custom implementation of a GroupManager.
    `class` | `DBUserManager` This is a custom implementation of a UserManager.

  - ### Uses of ServerObject in de.esprit.netsuite.server.auth.member

    Classes in de.esprit.netsuite.server.auth.member that implement ServerObject
    Modifier and Type | Class and Description
    --- | ---
    `class` | `DefaultGroupMembershipManager<S extends ServerContext>` This is the default implementation of a `GroupMembershipManager`.

  - ### Uses of ServerObject in de.esprit.netsuite.server.batch

    Classes in de.esprit.netsuite.server.batch that implement ServerObject
    Modifier and Type | Class and Description
    --- | ---
    `class` | `AbstractBatchTask<S extends ServerContext>` This is the base class for time scheduled server batch Processes.
    `class` | `AbstractDatabaseBatchTask<S extends ServerContext>` This ServerProcess is supposed to work with DBObjects
    `class` | `BatchTaskExecutor` This is a single threaded Executor for running time-scheduled `AbstractBatchTask`s
    `class` | `BatchTaskManager` This class encapsulates the entries in the coservers.cfg configuration file
    `class` | `BatchTaskMonitor<S extends ServerContext>` This Monitor is attached to `AbstractBatchTask` instances.
    `class` | `LogCleanupBatchTask` This batch process performs a log cleanup in regular time frames
    `class` | `TestBatchTask` This is server batch process for testing purposes only

  - ### Uses of ServerObject in de.esprit.netsuite.server.chmesg

    Classes in de.esprit.netsuite.server.chmesg that implement ServerObject
    Modifier and Type | Class and Description
    --- | ---
    `class` | `DefaultServerMessageDispatcher<S extends ServerContext>` This class implements the default message dispatching rules.

  - ### Uses of ServerObject in de.esprit.netsuite.server.chreq

    Subinterfaces of ServerObject in de.esprit.netsuite.server.chreq
    Modifier and Type | Interface and Description
    --- | ---
    `interface` | `RequestHandler<S extends ServerContext>` This is the base class for all RequestHandlers

    Classes in de.esprit.netsuite.server.chreq that implement ServerObject
    Modifier and Type | Class and Description
    --- | ---
    `class` | `ConnectionThreadPool` This thread-pool provides the threads that manage socket connections.
    `class` | `DefaultRequestHandler` This handler handles all system internal client requests
    `class` | `RequestDispatcher` This class dispatches the incoming request to the responsible `RequestHandler` based on the type of the request.
    `class` | `RequestServiceThreadPool` This thread pool uses cached threads in order to forward a request to a particular RequestHandler.

  - ### Uses of ServerObject in de.esprit.netsuite.server.chxfer

    Classes in de.esprit.netsuite.server.chxfer that implement ServerObject
    Modifier and Type | Class and Description
    --- | ---
    `class` | `FileStreamEntry` This class maintains a file transfer on the server during up/download.
    `class` | `FileTransferEntry` This class maintains a file transfer on the server during up/download.
    `class` | `ParallelStreamsList` This list contains the stream jobs that are currently running on the server.
    `class` | `ParallelTransfersList` This list contains the file transfer jobs that are currently running on the server.

  - ### Uses of ServerObject in de.esprit.netsuite.server.core

    Classes in de.esprit.netsuite.server.core that implement ServerObject
    Modifier and Type | Class and Description
    --- | ---
    `class` | `AccessibleServerObject<C extends ClientContext,S extends ServerContext>` This is base class manages a lastAccessor ID as well as a lastAccessor timestamp for remote accessible server objects.
    `class` | `FatalErrorHandler<S extends ServerContext>` This error handler reports fatal errors in the logfile and sends an email notification to registered email recipients.
    `class` | `LogChannelManager` This class is a cache for all LogChannels opened by the server
    `class` | `MailerFacade` This class is a facade to the `EmailSender`.
    `class` | `NServerEventDispatcher` This class is used to fire server internal notification events.
    `class` | `ServerEventDispatcher` This class is used to fire server internal notification events in a thread safe manner.
    `class` | `ServerEventQueue` This class is used to fire server internal notification events by a particular daemon thread.
    `class` | `ServerStatisticManager` This manager contains a singleton `ServerStatistic` instance as well as a thread which updates it repeatedly after the configured delay.
    `class` | `ServerTaskManager` This class adds support for canceling running `RemoteCancellableTask` instances

  - ### Uses of ServerObject in de.esprit.netsuite.server.coserver

    Classes in de.esprit.netsuite.server.coserver that implement ServerObject
    Modifier and Type | Class and Description
    --- | ---
    `class` | `CoClientContext` This class encapsulates a connection to a co-server.
    `class` | `CoClientReconnectorTask` This thread performs an automatic reconnection of the client after it went off-line.
    `class` | `CoServerConnectionABO` This ABO contains ever up to date information, which CoServers are connected.
    `class` | `CoServerManager` This manager maintains the `CoClientContext`s of all co-server connections of this server.

  - ### Uses of ServerObject in de.esprit.netsuite.server.cpu

    Classes in de.esprit.netsuite.server.cpu that implement ServerObject
    Modifier and Type | Class and Description
    --- | ---
    `class` | `AgentExecutorTask` This task performs the async execution of an agent on the server.
    `class` | `AgentSleeperThreadPool` This ThreadPool is used to execute async (sleepy) agents which do NOT consume much CPU time.
    `class` | `AgentTaskMonitor<S extends ServerContext>` This `TaskMonitor` sends `RemoteTaskEvent`s to the client for synchronization.
    `class` | `AgentTimerThreadPool` This pool provides timer-threads for canceling async agents that timed out on the server.
    `class` | `AgentWatchDogTask` This task controls the execution of async agent and handles an eventual timeout.
    `class` | `AgentWorkerThreadPool` This ThreadPool is used to execute async agents which put CPU load on the server.
    `class` | `ServerThreadPool` This is the base class for all server thread pools.
    `class` | `ServerThreadPoolManager` This class manages all server thread pools.
    `class` | `TransferThreadPool` This thread pool provides threads used for file transfers.

  - ### Uses of ServerObject in de.esprit.netsuite.server.db

    Classes in de.esprit.netsuite.server.db that implement ServerObject
    Modifier and Type | Class and Description
    --- | ---
    `class` | `DatabaseManager` This class maintains a pool of connected DataSource objects which can be selected by name.

  - ### Uses of ServerObject in de.esprit.netsuite.server.hist

    Classes in de.esprit.netsuite.server.hist that implement ServerObject
    Modifier and Type | Class and Description
    --- | ---
    `class` | `RemoteTaskHistoryMonitor<S extends ServerContext>` This `TaskMonitor` writes a history record for a `RemoteTask` when the task has finished.
    `class` | `TaskHistoryWriter` This class it the interface to the Task history files written by the esprit server.

  - ### Uses of ServerObject in de.esprit.netsuite.server.lock

    Classes in de.esprit.netsuite.server.lock that implement ServerObject
    Modifier and Type | Class and Description
    --- | ---
    `class` | `ResourceLockManager` This List manages the resource locks that are being hold by clients during editing a server resource.

  - ### Uses of ServerObject in de.esprit.netsuite.server.netch

    Subinterfaces of ServerObject in de.esprit.netsuite.server.netch
    Modifier and Type | Interface and Description
    --- | ---
    `interface` | `ServerConnection` This interface defines the methods to be provided by all types of `ServerConnection`s.
    `interface` | `ServerMessageConnection` This class defines the specifica of a message connection.
    `interface` | `ServerRequestConnection` This class defines the specifica of a request connection.
    `interface` | `ServerTransferConnection` This class defines the specifica of a transfer connection.

    Classes in de.esprit.netsuite.server.netch that implement ServerObject
    Modifier and Type | Class and Description
    --- | ---
    `class` | `AbstractServerConnection` This class contains the logic of each connection that the server opens for the client.
    `class` | `AbstractTransferService` This task reads the client's `AbstractTransferJob` and performs all requested file transfers.
    `class` | `FileDownloadService` This class performs the file download on server side
    `class` | `FileDownstreamService` This class performs the file downstream on server side
    `class` | `FileUploadService` This class performs the file upload on server side
    `class` | `RequestServiceTask` This task reads incoming requests, forwards them to the `RequestDispatcher` and writes the response to the clients message channel (Note that both request and message channel are uni-directional).
    `class` | `ServerConnectionService` This class ...
    `class` | `ServerConnector<S extends ServerContext>` This class is the servers interface to networking.
    `class` | `ServerMessageQueue` This is the main message queue of the server.
    `class` | `ServerNetworkAdapter` An instance of this adapter is created for each client and cached in a server side `Session` object.
    `class` | `Session` This class encapsulates a connection to a client by maintaining it's `SessionId` and the according `ServerNetworkAdapter`.
    `class` | `SessionManager` This is a synchronized List containing the currently connected clients.
    `class` | `TransferServiceTask` This task reads the incoming transfer jobs from the client and starts the according services for handling them.

  - ### Uses of ServerObject in de.esprit.netsuite.server.netch.io

    Classes in de.esprit.netsuite.server.netch.io that implement ServerObject
    Modifier and Type | Class and Description
    --- | ---
    `class` | `IOServerConnection` This class encapsulates a connection socket as well as its input- and output-streams.
    `class` | `IOServerConnectionService` This service contains a task that listens on the server port and creates new client connections if requested.
    `class` | `IOServerConnector<S extends ServerContext>` This is an implementation of `ServerConnector` based on the standard network `Socket` class.

  - ### Uses of ServerObject in de.esprit.netsuite.server.pathtree

    Classes in de.esprit.netsuite.server.pathtree that implement ServerObject
    Modifier and Type | Class and Description
    --- | ---
    `class` | `PathTreeManager` This manager maintains a server side `PathTree` which makes the servers data-directory accessible and observable by clients.
    `class` | `ServerPathTreeModelDriver` This server side `PathTreeModelDriver` forwards all events to the client.

  - ### Uses of ServerObject in de.esprit.netsuite.server.permission

    Subinterfaces of ServerObject in de.esprit.netsuite.server.permission
    Modifier and Type | Interface and Description
    --- | ---
    `interface` | `PermissionManager<S extends ServerContext>` This interface defines a server component for managing user and group permissions

    Classes in de.esprit.netsuite.server.permission that implement ServerObject
    Modifier and Type | Class and Description
    --- | ---
    `class` | `DefaultPermissionManager<S extends ServerContext>` This class manages permissions for user and group access control in the esprit server.

  - ### Uses of ServerObject in de.esprit.netsuite.server.webserver

    Classes in de.esprit.netsuite.server.webserver that implement ServerObject
    Modifier and Type | Class and Description
    --- | ---
    `class` | `EspritWebServer` This is the internal web-service of the Esprit server which provides simple support for GET and POST requests.
    `class` | `WebRequestHandler` This class handles the incoming requests of the esprit web-service.

Copyright © 2014 EsprIT-Systems. All Rights Reserved.