Package org.eclipse.emf.cdo.spi.common.admin

## Class AbstractCDOAdmin

- java.lang.Object
- - org.eclipse.net4j.util.event.Notifier
  - - org.eclipse.net4j.util.lifecycle.Lifecycle
    - - org.eclipse.net4j.util.lifecycle.ShareableLifecycle
      - - org.eclipse.net4j.util.container.Container<E>
        - - org.eclipse.net4j.util.container.SetContainer<CDOAdminRepository>
          - - org.eclipse.emf.cdo.spi.common.admin.AbstractCDOAdmin

- All Implemented Interfaces:
    `CDOAdmin`, `org.eclipse.net4j.util.collection.Closeable`, `org.eclipse.net4j.util.container.IContainer<CDOAdminRepository>`, `org.eclipse.net4j.util.container.IContainer.Modifiable<CDOAdminRepository>`, `org.eclipse.net4j.util.container.IContainer.Persistable<CDOAdminRepository>`, `org.eclipse.net4j.util.event.INotifier`, `org.eclipse.net4j.util.event.INotifier.INotifier2`, `org.eclipse.net4j.util.lifecycle.IDeactivateable`, `org.eclipse.net4j.util.lifecycle.ILifecycle`, `org.eclipse.net4j.util.lifecycle.ILifecycle.DeferrableActivation`

      public abstract class AbstractCDOAdmin
      extends org.eclipse.net4j.util.container.SetContainer<CDOAdminRepository>
      implements CDOAdmin

  If the meaning of this type isn't clear, there really should be more of a description here...
  Since:
    4.1
  Author:
    Eike Stepper

- - ### Nested Class Summary

    - ### Nested classes/interfaces inherited from interface org.eclipse.net4j.util.container.IContainer

      `org.eclipse.net4j.util.container.IContainer.Modifiable<E extends java.lang.Object>, org.eclipse.net4j.util.container.IContainer.Persistable<E extends java.lang.Object>, org.eclipse.net4j.util.container.IContainer.Persistence<E extends java.lang.Object>`

    - ### Nested classes/interfaces inherited from interface org.eclipse.net4j.util.lifecycle.ILifecycle

      `org.eclipse.net4j.util.lifecycle.ILifecycle.DeferrableActivation`

    - ### Nested classes/interfaces inherited from interface org.eclipse.net4j.util.event.INotifier

      `org.eclipse.net4j.util.event.INotifier.INotifier2`

  - ### Field Summary

    - ### Fields inherited from class org.eclipse.net4j.util.lifecycle.Lifecycle

      `USE_LABEL`

    - ### Fields inherited from interface org.eclipse.emf.cdo.common.admin.CDOAdmin

      `DEFAULT_TYPE, PROPERTY_SECURITY_HOME_FOLDERS, PROPERTY_SECURITY_MANAGER, PROPERTY_STORE_XML_CONFIG`

  - ### Constructor Summary

    Constructors
    Modifier | Constructor | Description
    --- | --- | ---
    `protected` | `AbstractCDOAdmin​(long timeout)` |

  - ### Method Summary

    All Methods Instance Methods Abstract Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `void` | `close()` |
    `CDOAdminRepository` | `createRepository​(java.lang.String name, java.lang.String type, java.util.Map<java.lang.String,​java.lang.Object> properties)` | Creates a new remote `repository` and returns its administrative interface.
    `boolean` | `deleteRepository​(CDOAdminRepository repository, java.lang.String type)` |
    `protected abstract boolean` | `doCreateRepository​(java.lang.String name, java.lang.String type, java.util.Map<java.lang.String,​java.lang.Object> properties)` |
    `protected abstract boolean` | `doDeleteRepository​(java.lang.String name, java.lang.String type)` |
    `CDOAdminRepository[]` | `getRepositories()` |
    `CDOAdminRepository` | `getRepository​(java.lang.String name)` |
    `long` | `getTimeout()` |
    `boolean` | `isClosed()` |
    `protected CDOAdminRepository[]` | `sortElements​(CDOAdminRepository[] array)` |
    `protected boolean` | `validateElement​(CDOAdminRepository repository)` |
    `CDOAdminRepository` | `waitForRepository​(java.lang.String name)` |

    - ### Methods inherited from class org.eclipse.net4j.util.container.SetContainer

      `addAllElements, addElement, clear, containerModified, doActivate, doDeactivate, elementAdded, elementRemoved, getComponentType, getElements, getPersistence, getSet, isEmpty, isSavedWhenModified, load, removeAllElements, removeElement, save, setPersistence`

    - ### Methods inherited from class org.eclipse.net4j.util.container.Container

      `fireContainerEvent, fireContainerEvent, fireContainerEvent, fireElementAddedEvent, fireElementRemovedEvent, fireElementsAddedEvent, fireElementsRemovedEvent, fireEvent, newContainerEvent, newContainerEvent`

    - ### Methods inherited from class org.eclipse.net4j.util.lifecycle.Lifecycle

      `activate, checkActive, checkArg, checkArg, checkInactive, checkNull, checkState, checkState, deactivate, deferredActivate, doAfterActivate, doBeforeActivate, doBeforeDeactivate, dump, getLifecycleState, isActive, isDeferredActivation, toString`

    - ### Methods inherited from class org.eclipse.net4j.util.event.Notifier

      `addListener, addUniqueListener, fireEvent, fireEvent, fireThrowable, firstListenerAdded, getListeners, getNotificationService, hasListener, hasListeners, lastListenerRemoved, listenerAdded, listenerRemoved, removeListener`

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

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

    - ### Methods inherited from interface org.eclipse.net4j.util.container.IContainer

      `getElements, isEmpty`

    - ### Methods inherited from interface org.eclipse.net4j.util.event.INotifier

      `addListener, getListeners, hasListeners, removeListener`

- - ### Constructor Detail

    - #### AbstractCDOAdmin

          protected AbstractCDOAdmin​(long timeout)

  - ### Method Detail

    - #### getTimeout

          public final long getTimeout()

    - #### isClosed

          public boolean isClosed()

      Specified by:
        `isClosed` in interface `org.eclipse.net4j.util.collection.Closeable`

    - #### close

          public void close()

      Specified by:
        `close` in interface `org.eclipse.net4j.util.collection.Closeable`

    - #### getRepositories

          public CDOAdminRepository[] getRepositories()

      Specified by:
        `getRepositories` in interface `CDOAdmin`

    - #### getRepository

          public CDOAdminRepository getRepository​(java.lang.String name)

      Specified by:
        `getRepository` in interface `CDOAdmin`

    - #### waitForRepository

          public CDOAdminRepository waitForRepository​(java.lang.String name)

      Specified by:
        `waitForRepository` in interface `CDOAdmin`

    - #### createRepository

          public CDOAdminRepository createRepository​(java.lang.String name,
                                                     java.lang.String type,
                                                     java.util.Map<java.lang.String,​java.lang.Object> properties)

      Description copied from interface: `CDOAdmin`
      Creates a new remote `repository` and returns its administrative interface.

      On the server-side the creation is delegated to an instance of `org.eclipse.emf.cdo.server.spi.admin.CDOAdminHandler` that is registered with the server's `container` under the given `type` argument. The `name` and `properties` arguments are passed on to the registered handler.

      Specified by:
        `createRepository` in interface `CDOAdmin`

    - #### deleteRepository

          public boolean deleteRepository​(CDOAdminRepository repository,
                                          java.lang.String type)

    - #### sortElements

          protected CDOAdminRepository[] sortElements​(CDOAdminRepository[] array)

      Overrides:
        `sortElements` in class `org.eclipse.net4j.util.container.SetContainer<CDOAdminRepository>`

    - #### validateElement

          protected boolean validateElement​(CDOAdminRepository repository)

      Overrides:
        `validateElement` in class `org.eclipse.net4j.util.container.SetContainer<CDOAdminRepository>`

    - #### doCreateRepository

          protected abstract boolean doCreateRepository​(java.lang.String name,
                                                        java.lang.String type,
                                                        java.util.Map<java.lang.String,​java.lang.Object> properties)

    - #### doDeleteRepository

          protected abstract boolean doDeleteRepository​(java.lang.String name,
                                                        java.lang.String type)