Package org.tmatesoft.svn.core.wc2

## Class SvnCommitPacket

- java.lang.Object
- - org.tmatesoft.svn.core.wc2.SvnCommitPacket

-     public class SvnCommitPacket
      extends java.lang.Object

  Represents storage for `SvnCommitItem` objects which represent information on versioned items intended for being committed to a repository.

  Used by commit-related operations to collect and hold information on paths that are to be committed. Each `SvnCommitPacket` is committed in a single transaction.

  Author:
    TMate Software Ltd.
  See Also:
    `SvnCommitItem`

- - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `SvnCommitPacket()` | Creates a commit packet and initializes its fields with empty lists.

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---

    `SvnCommitItem`

    `addItem​(java.io.File path, SVNNodeKind kind, SVNURL repositoryRoot, java.lang.String repositoryPath, long revision, java.lang.String copyFromPath, long copyFromRevision, java.io.File movedFromAbsPath, int flags)`

    Adds commit item with the path, kind, repository root URL, repository path, revision number, copied from path, copied from revision number, flags to the commit packet.

    `SvnCommitItem` | `addItem​(java.io.File path, SVNURL rootUrl, SVNNodeKind kind, SVNURL url, long revision, SVNURL copyFromUrl, long copyFromRevision, int flags)` | Adds commit item with the path, repository root URL, kind, URL, revision number, revision number, copied from path, copied from revision number, flags to the commit packet.
    `void` | `addItem​(SvnCommitItem item, SVNURL repositoryRoot)` | Adds commit item to the commit packet with the repository root URL.
    `void` | `dispose()` | Disposes the commit packet, if commit runner is set method calls `ISvnCommitRunner#disposeCommitPacket(Object)` with the commit packet
    `SvnCommitItem` | `getItem​(java.io.File path)` | Returns the commit item with the path
    `java.util.Collection<SvnCommitItem>` | `getItems​(SVNURL url)` | Returns all commit items in the commit packet with the corresponding repository root URL
    `java.lang.Object` | `getLockingContext()` | Returns commit packet's locking context.
    `java.util.Map<SVNURL,​java.lang.String>` | `getLockTokens()` | Returns all lock tokens of commit packet.
    `java.util.Collection<SVNURL>` | `getRepositoryRoots()` | Returns all unique repository root URLs of all commit items in the commit packet
    `org.tmatesoft.svn.core.internal.wc2.ISvnCommitRunner` | `getRunner()` | Returns commit packet's runner.
    `boolean` | `hasItem​(java.io.File path)` | Tests if the commit packet contains the commit item with the path
    `boolean` | `isEmpty()` | Tests whether the commit packet has commit items.
    `boolean` | `isEmpty​(SVNURL repositoryRootUrl)` | Tests whether the commit packet has commit items with the repository root URL.
    `boolean` | `isItemSkipped​(java.io.File file)` |
    `boolean` | `isLastPacket()` |
    `SvnCommitPacket` | `removeSkippedItems()` |
    `void` | `setItemSkipped​(java.io.File file, boolean skipped)` |
    `void` | `setLockingContext​(org.tmatesoft.svn.core.internal.wc2.ISvnCommitRunner commitRunner, java.lang.Object context)` |
    `void` | `setLockTokens​(java.util.Map<SVNURL,​java.lang.String> lockTokens)` | Sets commit packet's lock tokens, containing the information about locks within commit packet URLs.

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

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

- - ### Constructor Detail

    - #### SvnCommitPacket

          public SvnCommitPacket()

      Creates a commit packet and initializes its fields with empty lists.

  - ### Method Detail

    - #### hasItem

          public boolean hasItem​(java.io.File path)

      Tests if the commit packet contains the commit item with the path
      Parameters:
        `path` - the path of the commit item to test
      Returns:
        `true` if commit item with the path is contained in the commit packet, otherwise `false`

    - #### getItem

          public SvnCommitItem getItem​(java.io.File path)

      Returns the commit item with the path
      Parameters:
        `path` - the path of the commit item
      Returns:
        commit item

    - #### getRepositoryRoots

          public java.util.Collection<SVNURL> getRepositoryRoots()

      Returns all unique repository root URLs of all commit items in the commit packet
      Returns:
        unmodifiable list of URLs of the commit packet

    - #### getItems

          public java.util.Collection<SvnCommitItem> getItems​(SVNURL url)

      Returns all commit items in the commit packet with the corresponding repository root URL
      Returns:
        unmodifiable list of commit items containing info of versioned items to be committed

    - #### addItem

          public void addItem​(SvnCommitItem item,
                              SVNURL repositoryRoot)

      Adds commit item to the commit packet with the repository root URL.
      Parameters:
        `item` - commit item
        `repositoryRoot` - repository root URL

    - #### addItem

          public SvnCommitItem addItem​(java.io.File path,
                                       SVNNodeKind kind,
                                       SVNURL repositoryRoot,
                                       java.lang.String repositoryPath,
                                       long revision,
                                       java.lang.String copyFromPath,
                                       long copyFromRevision,
                                       java.io.File movedFromAbsPath,
                                       int flags)
                                throws SVNException

      Adds commit item with the path, kind, repository root URL, repository path, revision number, copied from path, copied from revision number, flags to the commit packet.
      Parameters:
        `path` - path of the commit item
        `kind` - node kind of the commit item
        `repositoryRoot` - repository root URL of the commit item
        `repositoryPath` - repository path of the commit item
        `revision` - revision number of the commit item
        `copyFromPath` - path from those commit item was copied
        `copyFromRevision` - revision of the repository item from those commit item was copied
        `flags` - commit item flags
      Returns:
        newly created commit item with initialized fields
      Throws:
        `SVNException` - if URL parse error occurred

    - #### addItem

          public SvnCommitItem addItem​(java.io.File path,
                                       SVNURL rootUrl,
                                       SVNNodeKind kind,
                                       SVNURL url,
                                       long revision,
                                       SVNURL copyFromUrl,
                                       long copyFromRevision,
                                       int flags)
                                throws SVNException

      Adds commit item with the path, repository root URL, kind, URL, revision number, revision number, copied from path, copied from revision number, flags to the commit packet.
      Parameters:
        `path` - path of the commit item
        `rootUrl` - repository root URL of the commit item
        `kind` - node kind of the commit item
        `url` - repository URL of the commit item
        `revision` - revision number of the commit item
        `copyFromUrl` - url from those commit item was copied
        `copyFromRevision` - revision of the repository item from those commit item was copied
        `flags` - commit item flags
      Returns:
        newly created commit item with initialized fields
      Throws:
        `SVNException` - if URL parse error occurred

    - #### setLockingContext

          public void setLockingContext​(org.tmatesoft.svn.core.internal.wc2.ISvnCommitRunner commitRunner,
                                        java.lang.Object context)

      Parameters:
        `commitRunner` -
        `context` -

    - #### dispose

          public void dispose()
                       throws SVNException

      Disposes the commit packet, if commit runner is set method calls `ISvnCommitRunner#disposeCommitPacket(Object)` with the commit packet
      Throws:
        `SVNException`

    - #### setLockTokens

          public void setLockTokens​(java.util.Map<SVNURL,​java.lang.String> lockTokens)

      Sets commit packet's lock tokens, containing the information about locks within commit packet URLs.
      Parameters:
        `lockTokens` - hash of URL, lock tokens for this URL

    - #### getLockTokens

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

      Returns all lock tokens of commit packet.
      Returns:
        hash of URL, lock tokens

    - #### isEmpty

          public boolean isEmpty()

      Tests whether the commit packet has commit items.
      Returns:
        `true` if the commit packet has no commit items, otherwise `false`

    - #### isEmpty

          public boolean isEmpty​(SVNURL repositoryRootUrl)

      Tests whether the commit packet has commit items with the repository root URL.
      Returns:
        `true` if the commit packet has no commit items with the repository root, otherwise `false`

    - #### getLockingContext

          public java.lang.Object getLockingContext()

      Returns commit packet's locking context.
      Returns:
        the locking context for the commit packet

    - #### getRunner

          public org.tmatesoft.svn.core.internal.wc2.ISvnCommitRunner getRunner()

      Returns commit packet's runner.
      Returns:
        the runner for the commit packet

    - #### setItemSkipped

          public void setItemSkipped​(java.io.File file,
                                     boolean skipped)

    - #### isItemSkipped

          public boolean isItemSkipped​(java.io.File file)

    - #### removeSkippedItems

          public SvnCommitPacket removeSkippedItems()

    - #### isLastPacket

          public boolean isLastPacket()