Package org.eclipse.emf.cdo.util

## Class CDOURIData

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

-     public final class CDOURIData
      extends java.lang.Object

  Represents a CDO-specific `URI` in connection-aware format.

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

  > cdo.net4j. ConnectorType :// [User [: Password] @] ConnectorSpecificAuthority / RepositoryName / ResourcePath [? Param=Value (& Param=Value)*]

  The non-terminals being:

  - ConnectorType: one of tcp | ssl | jvm | http
  - User/Password: to be provided if the repository is configured with an `IUserManager` and, hence, triggers authentication on the client. Note: the password may be stored in resources in clear text!
  - ConnectorSpecificAuthority: examples are
    - Host [: Port] (if ConnectorType is tcp)
    - AcceptorName (if ConnectorType is jvm)
  - RepositoryName: the `name` of the repository (not the `UUID`!).
  - ResourcePath: the full path of the `resource` within the repository, segments separated by slashes, no leading slash.
  - Param: one of the following
    - branch: the value must be a `branch path`, the full path of the branch in the branch tree, segments separated by slashes, no leading slash, defaults to MAIN.
    - time: the value must be the time at which the resource is supposed to be valid, parseable by SimpleDateFormat. The special value HEAD indicates a floating view/transaction that always shows the latest state in the chosen branch, the default if no Time parameter is specified.
    - transactional: a boolean value. The value true forces a the resource to be opened in a transaction rather than in a read-only view. This can not be combined with a Time other than HEAD.
    - 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.

  Note: With the current design and implementation of connection-aware URI (mainly CDONet4jViewProvider) it is still unclear when and how the allocated "resources" (aka IConnector, CDOSession, CDOView, etc) are supposed to be freed!

  For a description of the canonical URI format refer to `CDOURIUtil`.

  Since:
    4.0
  Author:
    Eike Stepper

- - ### Field Summary

    Fields
    Modifier and Type | Field | Description
    --- | --- | ---
    `static java.lang.String` | `BRANCH_PARAMETER` |
    `static java.lang.String` | `TIME_PARAMETER` |
    `static java.lang.String` | `TRANSACTIONAL_PARAMETER` |
    `static java.lang.String` | `VIEW_ID_PARAMETER` |

  - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `CDOURIData()` |
    `CDOURIData​(java.lang.String uri)` |
    `CDOURIData​(org.eclipse.emf.common.util.URI uri)` |

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `java.lang.String` | `getAuthority()` |
    `IPath` | `getBranchPath()` |
    `java.util.Map<java.lang.String,​java.lang.String>` | `getExtraParameters()` |
    `java.lang.String` | `getPassWord()` |
    `java.lang.String` | `getRepositoryName()` |
    `IPath` | `getResourcePath()` |
    `java.lang.String` | `getScheme()` |
    `long` | `getTimeStamp()` |
    `java.lang.String` | `getUserName()` |
    `java.lang.String` | `getViewID()` |
    `boolean` | `isTransactional()` |
    `void` | `setAuthority​(java.lang.String authority)` |
    `void` | `setBranchPath​(IPath branchPath)` |
    `void` | `setExtraParameters​(java.util.Map<java.lang.String,​java.lang.String> extraParameters)` |
    `void` | `setPassWord​(java.lang.String passWord)` |
    `void` | `setRepositoryName​(java.lang.String repositoryName)` |
    `void` | `setResourcePath​(IPath resourcePath)` |
    `void` | `setScheme​(java.lang.String scheme)` |
    `void` | `setTimeStamp​(long timeStamp)` |
    `void` | `setTransactional​(boolean transactional)` |
    `void` | `setUserName​(java.lang.String userName)` |
    `void` | `setViewID​(java.lang.String viewID)` |
    `java.lang.String` | `toString()` |
    `org.eclipse.emf.common.util.URI` | `toURI()` |

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

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

- - ### Field Detail

    - #### BRANCH_PARAMETER

          public static final java.lang.String BRANCH_PARAMETER

      See Also:
        Constant Field Values

    - #### TIME_PARAMETER

          public static final java.lang.String TIME_PARAMETER

      See Also:
        Constant Field Values

    - #### VIEW_ID_PARAMETER

          public static final java.lang.String VIEW_ID_PARAMETER

      Since:
        4.1
      See Also:
        Constant Field Values

    - #### TRANSACTIONAL_PARAMETER

          public static final java.lang.String TRANSACTIONAL_PARAMETER

      See Also:
        Constant Field Values

  - ### Constructor Detail

    - #### CDOURIData

          public CDOURIData()

    - #### CDOURIData

          public CDOURIData​(java.lang.String uri)
                     throws InvalidURIException

      Throws:
        `InvalidURIException`

    - #### CDOURIData

          public CDOURIData​(org.eclipse.emf.common.util.URI uri)
                     throws InvalidURIException

      Throws:
        `InvalidURIException`

  - ### Method Detail

    - #### getScheme

          public java.lang.String getScheme()

    - #### setScheme

          public void setScheme​(java.lang.String scheme)

    - #### getUserName

          public java.lang.String getUserName()

    - #### setUserName

          public void setUserName​(java.lang.String userName)

    - #### getPassWord

          public java.lang.String getPassWord()

    - #### setPassWord

          public void setPassWord​(java.lang.String passWord)

    - #### getAuthority

          public java.lang.String getAuthority()

    - #### setAuthority

          public void setAuthority​(java.lang.String authority)

    - #### getRepositoryName

          public java.lang.String getRepositoryName()

    - #### setRepositoryName

          public void setRepositoryName​(java.lang.String repositoryName)

    - #### getResourcePath

          public IPath getResourcePath()

    - #### setResourcePath

          public void setResourcePath​(IPath resourcePath)

    - #### getBranchPath

          public IPath getBranchPath()

    - #### setBranchPath

          public void setBranchPath​(IPath branchPath)

    - #### getTimeStamp

          public long getTimeStamp()

    - #### setTimeStamp

          public void setTimeStamp​(long timeStamp)

    - #### getViewID

          public java.lang.String getViewID()

      Since:
        4.1

    - #### setViewID

          public void setViewID​(java.lang.String viewID)

      Since:
        4.1

    - #### isTransactional

          public boolean isTransactional()

    - #### setTransactional

          public void setTransactional​(boolean transactional)

    - #### getExtraParameters

          public java.util.Map<java.lang.String,​java.lang.String> getExtraParameters()

      Since:
        4.1

    - #### setExtraParameters

          public void setExtraParameters​(java.util.Map<java.lang.String,​java.lang.String> extraParameters)

      Since:
        4.4

    - #### toURI

          public org.eclipse.emf.common.util.URI toURI()

    - #### toString

          public java.lang.String toString()

      Overrides:
        `toString` in class `java.lang.Object`