de.esprit.netsuite.server.auth

## Class AbstractGroupManager<S extends ServerContext>

- java.lang.Object
- - de.esprit.common.util.DumpableObject
  - - de.esprit.appsuite.launch.AbstractApplicationObject<S>
    - - de.esprit.netsuite.server.AbstractServerObject<S>
      - - de.esprit.netsuite.server.AbstractInitializableServerObject<S>
        - - de.esprit.netsuite.server.auth.AbstractGroupManager<S>

- All Implemented Interfaces:
    ApplicationObject<S>, Initializable, SimpleLogSupport, Dumpable, GroupManager<S>, PermissionControlled, ServerObject<S>
  Direct Known Subclasses:
    DBGroupManager, DefaultGroupManager

      public abstract class AbstractGroupManager<S extends ServerContext>
      extends AbstractInitializableServerObject<S>
      implements GroupManager<S>

  This GroupManager implementation provides the basic framework for managing groups.
  Author:
    Rainer Buesch

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `static PermissionDefinition` | `permissionDef`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `AbstractGroupManager(S serverCtx)`

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `deleteGroup(SessionId sessionId, Group group)`
    `boolean` | `existsGroup(java.lang.String groupName)`
    `Group` | `fetchGroupByName(java.lang.String groupName)`
    `Group` | `findGroupByName(java.lang.String groupName)`
    `protected java.io.File` | `getGroupConfigFile()`
    `int` | `getGroupCount()`
    `protected java.util.List<Group>` | `getGroupList()`
    `Group[]` | `getGroups()`
    `PermissionDefinition` | `getPermissionDefinition()` Returns an object that identifies a `PermissionControlled` object with a unique name and provides a list of supported assignable permissions.
    `void` | `init()` Performs the initialization of this class.
    `Group` | `insertGroup(SessionId caller, Group group)`
    `protected int` | `nextGroupId()`
    `protected abstract void` | `performDeleteGroup(SessionId callerSessId, Group group)`
    `protected abstract Group` | `performInsertGroup(SessionId callerSessId, Group group, java.util.List<Group> groupList)`
    `protected abstract void` | `performUpdateGroup(SessionId callerSessId, Group group)`
    `protected abstract void` | `read(java.util.List<Group> groupList)`
    `void` | `updateGroup(SessionId sessionId, Group group)`

    - ### Methods inherited from class de.esprit.netsuite.server.AbstractInitializableServerObject

      `checkInitialized, isInitialized, setInitialized, toString`

    - ### Methods inherited from class de.esprit.netsuite.server.AbstractServerObject

      `checkPermission, getServerConfig, getServerContext, getStatisticManager`

    - ### Methods inherited from class de.esprit.appsuite.launch.AbstractApplicationObject

      `getApplicationContext, getLogChannel, isLogDebug, isLogVerbose, logDebug, logDump, logError, logError, logFatal, logInfo, logVerbose, logWarning, setLogChannel`

    - ### Methods inherited from class de.esprit.common.util.DumpableObject

      `configureDumpHeadlineLength, configureDumpMaxElementsPrinted, copyDumpStringValues, copyToStringValues, createDumpHeader, toDumpString, toDumpString, toString`

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

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

- - ### Field Detail

    - #### permissionDef

          public static final PermissionDefinition permissionDef

  - ### Constructor Detail

    - #### AbstractGroupManager

          public AbstractGroupManager(S serverCtx)

  - ### Method Detail

    - #### getGroupCount

          public int getGroupCount()

      Specified by:
        `getGroupCount` in interface `GroupManager<S extends ServerContext>`

    - #### getPermissionDefinition

          public PermissionDefinition getPermissionDefinition()

      Description copied from interface: `PermissionControlled`
      Returns an object that identifies a `PermissionControlled` object with a unique name and provides a list of supported assignable permissions.
      Specified by:
        `getPermissionDefinition` in interface `PermissionControlled`

    - #### init

          public void init()
                    throws java.lang.Exception

      Description copied from interface: `Initializable`
      Performs the initialization of this class. Note that the implementation should maintain an isInitialized flag which must be set when initialization has completed.
      Specified by:
        `init` in interface `Initializable`
      Specified by:
        `init` in interface `GroupManager<S extends ServerContext>`
      Throws:
        `java.lang.Exception`

    - #### getGroups

          public Group[] getGroups()

      Specified by:
        `getGroups` in interface `GroupManager<S extends ServerContext>`

    - #### deleteGroup

          public void deleteGroup(SessionId sessionId,
                         Group group)
                           throws java.lang.Exception

      Specified by:
        `deleteGroup` in interface `GroupManager<S extends ServerContext>`
      Throws:
        `java.lang.Exception`

    - #### updateGroup

          public void updateGroup(SessionId sessionId,
                         Group group)
                           throws java.lang.Exception

      Specified by:
        `updateGroup` in interface `GroupManager<S extends ServerContext>`
      Throws:
        `java.lang.Exception`

    - #### insertGroup

          public Group insertGroup(SessionId caller,
                          Group group)
                            throws java.lang.Exception

      Specified by:
        `insertGroup` in interface `GroupManager<S extends ServerContext>`
      Throws:
        `java.lang.Exception`

    - #### findGroupByName

          public Group findGroupByName(java.lang.String groupName)

      Specified by:
        `findGroupByName` in interface `GroupManager<S extends ServerContext>`

    - #### fetchGroupByName

          public Group fetchGroupByName(java.lang.String groupName)
                                 throws java.lang.Exception

      Specified by:
        `fetchGroupByName` in interface `GroupManager<S extends ServerContext>`
      Throws:
        `java.lang.Exception`

    - #### existsGroup

          public boolean existsGroup(java.lang.String groupName)

    - #### getGroupConfigFile

          protected java.io.File getGroupConfigFile()

    - #### getGroupList

          protected java.util.List<Group> getGroupList()

    - #### nextGroupId

          protected int nextGroupId()

    - #### performInsertGroup

          protected abstract Group performInsertGroup(SessionId callerSessId,
                                 Group group,
                                 java.util.List<Group> groupList)
                                               throws java.lang.Exception

      Throws:
        `java.lang.Exception`

    - #### performUpdateGroup

          protected abstract void performUpdateGroup(SessionId callerSessId,
                                Group group)
                                              throws java.lang.Exception

      Throws:
        `java.lang.Exception`

    - #### performDeleteGroup

          protected abstract void performDeleteGroup(SessionId callerSessId,
                                Group group)
                                              throws java.lang.Exception

      Throws:
        `java.lang.Exception`

    - #### read

          protected abstract void read(java.util.List<Group> groupList)
                                throws java.lang.Exception

      Throws:
        `java.lang.Exception`

Copyright © 2014 EsprIT-Systems. All Rights Reserved.