org.eclipse.emf.cdo.view

## Interface CDOViewProviderRegistry

- All Superinterfaces:
    IContainer<CDOViewProvider>, INotifier

      public interface CDOViewProviderRegistry
      extends IContainer<CDOViewProvider>

  A global registry of `view provider` implementations.
  Since:
    2.0
  Author:
    Victor Roldan Betancort
  No Implement
    This interface is not intended to be implemented by clients.
  No Extend
    This interface is not intended to be extended by clients.
  Apiviz
    `CDOViewProvider`

- - ### Nested Class Summary

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

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

  - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `static CDOViewProviderRegistry` | `INSTANCE`

  - ### Method Summary

    All Methods Instance Methods Abstract Methods Deprecated Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `addViewProvider(CDOViewProvider viewProvider)` Registers the given view provider instance with this registry.
    `CDOViewProvider[]` | `getViewProviders(URI uri)` Returns an array of `CDOViewProvider` instances, determined and ordered by certain criteria based on the argument URI.
    `boolean` | `hasViewProvider(CDOViewProvider viewProvider)` Returns `true` if the given view provider instance is registered with this registry, `false` otherwise.
    `CDOView` | `provideView(URI uri, ResourceSet viewSet)` Returns a `view` that serves the given URI in the given `view set`, or `null` if no `view provider` in this registry can provide such a view.
    `Pair<CDOView,CDOViewProvider>` | `provideViewWithInfo(URI uri, ResourceSet resourceSet)` Deprecated. As of 4.4. use `provideView(URI, ResourceSet)`.getProvider().
    `void` | `removeViewProvider(CDOViewProvider viewProvider)` Removes the given view provider instance from this registry.

    - ### 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`

- - ### Field Detail

    - #### INSTANCE

          static final CDOViewProviderRegistry INSTANCE

  - ### Method Detail

    - #### provideView

          CDOView provideView(URI uri,
                              ResourceSet viewSet)

      Returns a `view` that serves the given URI in the given `view set`, or `null` if no `view provider` in this registry can provide such a view.

    - #### provideViewWithInfo

          @Deprecated
          Pair<CDOView,CDOViewProvider> provideViewWithInfo(URI uri,
                                                                         ResourceSet resourceSet)

      Deprecated. As of 4.4. use `provideView(URI, ResourceSet)`.getProvider().
      Returns a `view` that serves the given URI in the given `view set`, or `null` if no `view provider` in this registry can provide such a view. The returned `pair` contains the provider that provided the view or null if the view was already present in the `view set` of the resource set.
      Since:
        4.0

    - #### getViewProviders

          CDOViewProvider[] getViewProviders(URI uri)

      Returns an array of `CDOViewProvider` instances, determined and ordered by certain criteria based on the argument URI.

    - #### hasViewProvider

          boolean hasViewProvider(CDOViewProvider viewProvider)

      Returns `true` if the given view provider instance is registered with this registry, `false` otherwise.
      Since:
        4.0

    - #### addViewProvider

          void addViewProvider(CDOViewProvider viewProvider)

      Registers the given view provider instance with this registry.

    - #### removeViewProvider

          void removeViewProvider(CDOViewProvider viewProvider)

      Removes the given view provider instance from this registry.

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