|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||
java.lang.Objectorg.apache.subversion.javahl.JNIObject
org.apache.subversion.javahl.remote.CommitEditor
public class CommitEditor
Implementation of ISVNEditor that drives commits.
| Nested Class Summary |
|---|
| Nested classes/interfaces inherited from interface org.apache.subversion.javahl.ISVNEditor |
|---|
ISVNEditor.GetNodeKindCallback, ISVNEditor.ProvideBaseCallback, ISVNEditor.ProvidePropsCallback |
| Field Summary | |
|---|---|
protected RemoteSession |
session
Stores a reference to the session that created this editor. |
| Fields inherited from class org.apache.subversion.javahl.JNIObject |
|---|
cppAddr |
| Constructor Summary | |
|---|---|
protected |
CommitEditor(long cppAddr,
RemoteSession session)
This constructor is called from the factory to get an instance. |
| Method Summary | |
|---|---|
void |
abort()
Signal that the edit transmission was not successful. |
void |
addAbsent(String relativePath,
NodeKind kind,
long replacesRevision)
Create an "absent" node of kind kind at
relativePath. |
void |
addDirectory(String relativePath,
Iterable<String> children,
Map<String,byte[]> properties,
long replacesRevision)
Create a new directory at relativePath. |
void |
addFile(String relativePath,
Checksum checksum,
InputStream contents,
Map<String,byte[]> properties,
long replacesRevision)
Create a new file at relativePath. |
void |
addSymlink(String relativePath,
String target,
Map<String,byte[]> properties,
long replacesRevision)
Note: Not implemented. |
void |
alterDirectory(String relativePath,
long revision,
Iterable<String> children,
Map<String,byte[]> properties)
Alter the properties of the directory at relativePath. |
void |
alterFile(String relativePath,
long revision,
Checksum checksum,
InputStream contents,
Map<String,byte[]> properties)
Alter the contents and/or the properties of the file at relativePath with revision as its
expected revision. |
void |
alterSymlink(String relativePath,
long revision,
String target,
Map<String,byte[]> properties)
Note: Not implemented. |
void |
complete()
Signal that the edit has been completed successfully. |
void |
copy(String sourceRelativePath,
long sourceRevision,
String destinationRelativePath,
long replacesRevision)
Move the node at sourceRelativePath to
destinationRelativePath. |
void |
delete(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 |
finalize()
|
void |
move(String sourceRelativePath,
long sourceRevision,
String destinationRelativePath,
long replacesRevision)
Move the node at sourceRelativePath to
destinationRelativePath. |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Field Detail |
|---|
protected RemoteSession session
| Constructor Detail |
|---|
protected CommitEditor(long cppAddr,
RemoteSession session)
| Method Detail |
|---|
public void dispose()
ISVNEditor
dispose in interface ISVNEditor
public void addDirectory(String relativePath,
Iterable<String> children,
Map<String,byte[]> properties,
long replacesRevision)
throws ClientException
ISVNEditorrelativePath.
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.
addDirectory in interface ISVNEditorClientException
public void addFile(String relativePath,
Checksum checksum,
InputStream contents,
Map<String,byte[]> properties,
long replacesRevision)
throws ClientException
ISVNEditorrelativePath.
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.
addFile in interface ISVNEditorClientException
public void addSymlink(String relativePath,
String target,
Map<String,byte[]> properties,
long replacesRevision)
throws ClientException
addSymlink in interface ISVNEditorClientException
public void addAbsent(String relativePath,
NodeKind kind,
long replacesRevision)
throws ClientException
ISVNEditorkind at
relativePath. The immediate parent of
relativePath is expected to exist.
For a description of replacesRevision, see #addFile().
addAbsent in interface ISVNEditorClientException
public void alterDirectory(String relativePath,
long revision,
Iterable<String> children,
Map<String,byte[]> properties)
throws ClientException
ISVNEditorrelativePath.
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.
alterDirectory in interface ISVNEditorClientException
public void alterFile(String relativePath,
long revision,
Checksum checksum,
InputStream contents,
Map<String,byte[]> properties)
throws ClientException
ISVNEditorrelativePath 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.
alterFile in interface ISVNEditorClientException
public void alterSymlink(String relativePath,
long revision,
String target,
Map<String,byte[]> properties)
throws ClientException
alterSymlink in interface ISVNEditorClientException
public void delete(String relativePath,
long revision)
throws ClientException
ISVNEditorrelativePath, expected
to be identical to revision revision of that path.
delete in interface ISVNEditorClientException
public void copy(String sourceRelativePath,
long sourceRevision,
String destinationRelativePath,
long replacesRevision)
throws ClientException
ISVNEditorsourceRelativePath 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.
copy in interface ISVNEditorClientException
public void move(String sourceRelativePath,
long sourceRevision,
String destinationRelativePath,
long replacesRevision)
throws ClientException
ISVNEditorsourceRelativePath 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().
move in interface ISVNEditorClientException
public void complete()
throws ClientException
ISVNEditor
complete in interface ISVNEditorClientException
public void abort()
throws ClientException
ISVNEditor
abort in interface ISVNEditorClientException
public void finalize()
throws Throwable
finalize in class ObjectThrowable
|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||