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 and Description
`SvnCommitPacket()` Creates a commit packet and initializes its fields with empty lists.

### Method Summary

Methods
`SvnCommitItem` `addItem(java.io.File path, SVNNodeKind kind, SVNURL repositoryRoot, java.lang.String repositoryPath, long revision, java.lang.String copyFromPath, long copyFromRevision, 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.
`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,
                        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