public interface ISVNEditor
This interface is EXPERIMENTAL. It may change or be removed in a future version of JavaHL
| Modifier and Type | Interface and Description |
|---|---|
static interface |
ISVNEditor.GetNodeKindCallback
Callback interface for providing the kind of the node that was
the source of a copy.
|
static interface |
ISVNEditor.ProvideBaseCallback
Callback interface for providing the base contents of a file
that is being modified.
|
static interface |
ISVNEditor.ProvidePropsCallback
Callback interface for providing the base properties of a file
or directory that is being modified.
|
| Modifier and Type | Method and Description |
|---|---|
void |
abort()
Signal that the edit transmission was not successful.
|
void |
addAbsent(java.lang.String relativePath,
NodeKind kind,
long replacesRevision)
Create an "absent" node of kind
kind at
relativePath. |
void |
addDirectory(java.lang.String relativePath,
java.lang.Iterable<java.lang.String> children,
java.util.Map<java.lang.String,byte[]> properties,
long replacesRevision)
Create a new directory at
relativePath. |
void |
addFile(java.lang.String relativePath,
Checksum checksum,
java.io.InputStream contents,
java.util.Map<java.lang.String,byte[]> properties,
long replacesRevision)
Create a new file at
relativePath. |
void |
addSymlink(java.lang.String relativePath,
java.lang.String target,
java.util.Map<java.lang.String,byte[]> properties,
long replacesRevision)
Create a new symbolic link at
relativePath, with a
link target of target. |
void |
alterDirectory(java.lang.String relativePath,
long revision,
java.lang.Iterable<java.lang.String> children,
java.util.Map<java.lang.String,byte[]> properties)
Alter the properties of the directory at
relativePath. |
void |
alterFile(java.lang.String relativePath,
long revision,
Checksum checksum,
java.io.InputStream contents,
java.util.Map<java.lang.String,byte[]> properties)
Alter the contents and/or the properties of the file at
relativePath with revision as its
expected revision. |
void |
alterSymlink(java.lang.String relativePath,
long revision,
java.lang.String target,
java.util.Map<java.lang.String,byte[]> properties)
Alter the target and/or the properties of the symlink at
relativePath with revision as its
expected revision. |
void |
complete()
Signal that the edit has been completed successfully.
|
void |
copy(java.lang.String sourceRelativePath,
long sourceRevision,
java.lang.String destinationRelativePath,
long replacesRevision)
Move the node at
sourceRelativePath to
destinationRelativePath. |
void |
delete(java.lang.String relativePath,
long revision)
Delete the existing node at
relativePath, expected
to be identical to revision revision of that path. |
void |
dispose()
Release the native peer (should not depend on finalize),
and abort the edit if it has not been completed yet.
|
void |
move(java.lang.String sourceRelativePath,
long sourceRevision,
java.lang.String destinationRelativePath,
long replacesRevision)
Move the node at
sourceRelativePath to
destinationRelativePath. |
void dispose()
void addDirectory(java.lang.String relativePath,
java.lang.Iterable<java.lang.String> children,
java.util.Map<java.lang.String,byte[]> properties,
long replacesRevision)
throws ClientException
relativePath.
The immediate parent of relativePath is expected to exist.
For descriptions of properties and
replacesRevision, see #addFile().
A complete listing of the immediate children of
relativePath that will be added subsequently is
given in children. children is a
collection of const strings, each giving the basename of an
immediate child. It is an error to pass null for
children; use an empty collection to indicate that
the new directory will have no children.
ClientExceptionvoid addFile(java.lang.String relativePath,
Checksum checksum,
java.io.InputStream contents,
java.util.Map<java.lang.String,byte[]> properties,
long replacesRevision)
throws ClientException
relativePath.
The immediate parent of relativePath is expected to exist.
The file's contents are specified in contents
which has a checksum matching checksum. Both
values must be non-null.
Set the properties of the new file to
properties. If no properties are being set on the
new file, properties must be empty. It is an error
to pass null for properties.
If this add is expected to replace a previously existing file,
symlink or directory at relativePath, the revision
number of the node to be replaced must be given in
replacesRevision. Otherwise,
replacesRevision must be
Revision.SVN_INVALID_REVNUM.
Note: It is not allowed to call a "delete" followed by
an "add" on the same path. Instead, an "add" with
replacesRevision set accordingly must be used.
Note: The contents stream's lifetime must not
extend beyond the scope of this function. An
implementation must close the stream after
consuming its contents.
ClientExceptionvoid addSymlink(java.lang.String relativePath,
java.lang.String target,
java.util.Map<java.lang.String,byte[]> properties,
long replacesRevision)
throws ClientException
relativePath, with a
link target of target. The immediate parent of
relativePath is expected to exist.
For descriptions of properties and
replacesRevision, see #addFile().ClientExceptionvoid addAbsent(java.lang.String relativePath,
NodeKind kind,
long replacesRevision)
throws ClientException
kind at
relativePath. The immediate parent of
relativePath is expected to exist.
For a description of replacesRevision, see #addFile().ClientExceptionvoid alterDirectory(java.lang.String relativePath,
long revision,
java.lang.Iterable<java.lang.String> children,
java.util.Map<java.lang.String,byte[]> properties)
throws ClientException
relativePath.
revision specifies the revision at which the
receiver should expect to find this node. That is,
relativePath at the start of the whole edit and
relativePath at revision must lie
within the same node-rev (aka location history segment). This
information may be used to catch an attempt to alter and
out-of-date directory. If the directory does not have a
corresponding revision in the repository (e.g. it has not yet
been committed), then revision should be
Revision.SVN_INVALID_REVNUM.
If any changes to the set of children will be made in the
future of the edit drive, then children
must specify the resulting set of children. See
#addDirectory() for the format of children. If
not changes will be made, then NULL may be specified.
For a description of properties, see
#addFile(). If no changes to the properties will be made
(ie. only future changes to the set of children), then
properties may be null.
ClientExceptionvoid alterFile(java.lang.String relativePath,
long revision,
Checksum checksum,
java.io.InputStream contents,
java.util.Map<java.lang.String,byte[]> properties)
throws ClientException
relativePath with revision as its
expected revision. See #alterDirectory() for more information
about revision.
If contents is non-null, then the
stream will be copied to the file, and its checksum must match
checksum (which must also be
non-null). If contents is
null, then checksum must also be
null, and no change will be applied to the file's
contents.
If properties is non-null, then the
properties will be applied.
For a description of checksum and
contents, see #addFile().
This function allows properties to be
null, but the parameter is otherwise described by
#addFile().
Note: The contents stream's lifetime must not
extend beyond the scope of this function. An
implementation must close the stream after
consuming its contents.
ClientExceptionvoid alterSymlink(java.lang.String relativePath,
long revision,
java.lang.String target,
java.util.Map<java.lang.String,byte[]> properties)
throws ClientException
relativePath with revision as its
expected revision. See #alterDirectory() for more information
about revision.
If target is non-null, then the
symlink's target will be updated.
If properties is non-null, then the
properties will be applied.
The target and/or the properties must be changed. It is an
error to pass null for both target
and properties.
This function allows properties to be
null, but the parameter is otherwise described by
#addFile().
ClientExceptionvoid delete(java.lang.String relativePath,
long revision)
throws ClientException
relativePath, expected
to be identical to revision revision of that path.ClientExceptionvoid copy(java.lang.String sourceRelativePath,
long sourceRevision,
java.lang.String destinationRelativePath,
long replacesRevision)
throws ClientException
sourceRelativePath to
destinationRelativePath.
For a description of replacesRevision, see #addFile().
Note: See the general instructions on paths for this API.
Sice the sourceRelativePath argument must generally be
able to reference any node in the repository, the implication
is that the editor's root must be the repository root.
ClientExceptionvoid move(java.lang.String sourceRelativePath,
long sourceRevision,
java.lang.String destinationRelativePath,
long replacesRevision)
throws ClientException
sourceRelativePath to
destinationRelativePath.
sourceRevision specifies the revision at which the
receiver should expect to find this node. That is,
sourceRelativePath at the start of the whole edit
andsourceRelativePath at
sourceRevision must lie within the same node-rev
(aka history-segment). This is just like the #delete().
For a description of replacesRevision, see #addFile().
ClientExceptionvoid complete()
throws ClientException
ClientExceptionvoid abort()
throws ClientException
ClientException