Class 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 Detail

      • BRANCH_PARAMETER

        public static final java.lang.String BRANCH_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
    • 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 URI toURI()
      • toString

        public java.lang.String toString()
        Overrides:
        toString in class java.lang.Object