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, Closeable, IContainer<CDOAdminRepository>, IContainer.Modifiable<CDOAdminRepository>, IContainer.Persistable<CDOAdminRepository>, INotifier, IDeactivateable, ILifecycle, ILifecycle.DeferrableActivation

      public abstract class AbstractCDOAdmin
      extends 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

      `IContainer.Modifiable<E>, IContainer.Persistable<E>, IContainer.Persistence<E>`

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

      `ILifecycle.DeferrableActivation`

  - ### 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 and Description
    --- | ---
    `protected` | `AbstractCDOAdmin(long timeout)`

  - ### Method Summary

    All Methods Instance Methods Abstract Methods Concrete Methods
    Modifier and Type | Method and 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, fireEvent, fireEvent, fireThrowable, firstListenerAdded, getListeners, getNotificationService, hasListeners, lastListenerRemoved, 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 `Closeable`

    - #### close

          public void close()

      Specified by:
        `close` in interface `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 `SetContainer<CDOAdminRepository>`

    - #### validateElement

          protected boolean validateElement(CDOAdminRepository repository)

      Overrides:
        `validateElement` in class `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)

Copyright (c) 2014 Eike Stepper (Berlin, Germany) and others.
All rights reserved. This program and the accompanying materials are made available under the terms of the Eclipse Public License v1.0 which accompanies this distribution, and is available at http://www.eclipse.org/legal/epl-v10.html