org.eclipse.emf.cdo.util

## Class CDOURIUtil

- java.lang.Object
- - org.eclipse.emf.cdo.util.CDOURIUtil

-     public final class CDOURIUtil
      extends java.lang.Object

  Various static methods that may help with CDO-specific `URIs`.

  CDO URIs are in one of two different formats, either canonical or connection-aware. The canonical format is:

  > cdo:// RepositoryUUID / ResourcePath [? Param=Value (& Param=Value)*]

  The non-terminals being:

  - RepositoryUUID: the `UUID` of the repository. By default it's generated when a repository is first started. If the default format is not adequate the UUID value can be overridden in the repository setup with the `overrideUUID` property.
  - ResourcePath: the full path of the `resource` within the repository, segments separated by slashes, no leading slash.
  - Param: one of the following
    - prefetch: a boolean value. The value true attempts to load all objects contained by the resource in a single server-round trip and cache the results.
  URIs in the canonical form to resolve to `resources` properly require the `resource set` to be configured externally so that the connection to the correct repository can be established, for example:

  > `session.openView(resourceSet);`

  Note that resources preserve their original URI in the scope of the managing `view`, that is not necessarily in canonical format.

  For a description of the connection-aware URI format refer to `CDOURIData`.

  Since:
    2.0
  Author:
    Simon McDuff

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `static java.lang.String` | `PROTOCOL_NAME`
    `static java.lang.String` | `SEGMENT_SEPARATOR`
    `static char` | `SEGMENT_SEPARATOR_CHAR`

  - ### Method Summary

    All Methods Static Methods Concrete Methods Deprecated Methods
    Modifier and Type | Method and Description
    --- | ---
    `static java.util.List<java.lang.String>` | `analyzePath(java.lang.String path)`
    `static java.util.List<java.lang.String>` | `analyzePath(URI uri)`
    `static CDOID` | `convertExternalCDOID(URI baseURI, CDOID newCDOID)` Converting temporary CDOID to External CDOID e.g.: baseURI = cdo://2a57dfcf-8f97-4d39-8e17-9d99ae5c4b3c/resB#5/2 newCDOID = OID2 return = cdo://2a57dfcf-8f97-4d39-8e17-9d99ae5c4b3c/resB#1/2
    `static URI` | `createResourceURI(CDOSession session, java.lang.String path)` Deprecated. This method is subject to removal in a future release.
    `static URI` | `createResourceURI(CDOView view, java.lang.String path)`
    `static URI` | `createResourceURI(java.lang.String repositoryUUID, java.lang.String path)` Deprecated. This method is subject to removal in a future release.
    `static java.lang.String` | `extractRepositoryUUID(URI uri)` Deprecated.
    `static java.lang.String[]` | `extractResourceFolderAndName(URI uri)`
    `static java.lang.String` | `extractResourcePath(URI uri)`
    `static java.util.Map<java.lang.String,java.lang.String>` | `getParameters(java.lang.String query)`
    `static void` | `validateURI(URI uri)` Deprecated.

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

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

- - ### Field Detail

    - #### PROTOCOL_NAME

          public static final java.lang.String PROTOCOL_NAME

      Since:
        4.0
      See Also:
        Constant Field Values

    - #### SEGMENT_SEPARATOR_CHAR

          public static final char SEGMENT_SEPARATOR_CHAR

      See Also:
        Constant Field Values

    - #### SEGMENT_SEPARATOR

          public static final java.lang.String SEGMENT_SEPARATOR

  - ### Method Detail

    - #### validateURI

          @Deprecated
          public static void validateURI(URI uri)
                                               throws InvalidURIException

      Deprecated.
      Throws:
        `InvalidURIException`

    - #### extractRepositoryUUID

          @Deprecated
          public static java.lang.String extractRepositoryUUID(URI uri)

      Deprecated.

    - #### extractResourceFolderAndName

          public static java.lang.String[] extractResourceFolderAndName(URI uri)
                                                                 throws InvalidURIException

      Throws:
        `InvalidURIException`

    - #### extractResourcePath

          public static java.lang.String extractResourcePath(URI uri)
                                                      throws InvalidURIException

      Throws:
        `InvalidURIException`

    - #### createResourceURI

          @Deprecated
          public static URI createResourceURI(java.lang.String repositoryUUID,
                                                           java.lang.String path)

      Deprecated. This method is subject to removal in a future release.

      cdo://repositoryUUID/path

      The path is added at the end of "cdo://repositoryUUID". If path doesn't start with '/', it will be added automatically.
      e.g.: /resA or resA will give the same result → cdo://repositoryUUID/resA
      authority = repositoryUUID
      path = /resA

    - #### createResourceURI

          public static URI createResourceURI(CDOView view,
                                              java.lang.String path)

    - #### createResourceURI

          @Deprecated
          public static URI createResourceURI(CDOSession session,
                                                           java.lang.String path)

      Deprecated. This method is subject to removal in a future release.

    - #### convertExternalCDOID

          public static CDOID convertExternalCDOID(URI baseURI,
                                                   CDOID newCDOID)

      Converting temporary CDOID to External CDOID
      e.g.:
      baseURI = cdo://2a57dfcf-8f97-4d39-8e17-9d99ae5c4b3c/resB#5/2
      newCDOID = OID2
      return = cdo://2a57dfcf-8f97-4d39-8e17-9d99ae5c4b3c/resB#1/2

    - #### analyzePath

          public static java.util.List<java.lang.String> analyzePath(URI uri)

    - #### analyzePath

          public static java.util.List<java.lang.String> analyzePath(java.lang.String path)

    - #### getParameters

          public static java.util.Map<java.lang.String,java.lang.String> getParameters(java.lang.String query)

      Since:
        4.0

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