package org.tmatesoft.svn.core.wc2;
import org.tmatesoft.svn.core.SVNLock;
import org.tmatesoft.svn.core.SVNNodeKind;
import org.tmatesoft.svn.core.SVNURL;
import org.tmatesoft.svn.core.internal.util.SVNDate;
/**
* Represents information details for versioned item's (located either
* in a working copy or a repository). When running an
* {@link SvnInfo} operation all collected item information data is
* packed inside an <b>SvnInfo</b> object.
*
* @author TMate Software Ltd.
* @version 1.7
* @see SvnGetInfo
*/
public class SvnInfo extends SvnObject {
private SVNURL url;
private long revision;
private SVNURL repositoryRootURL;
private String repositoryUuid;
private SVNNodeKind kind;
private long size;
private long lastChangedRevision;
private SVNDate lastChangedDate;
private String lastChangedAuthor;
private SVNLock lock;
private SvnWorkingCopyInfo wcInfo;
/**
* Gets the item's URL - its repository location.
*
* @return the item's URL
*/
public SVNURL getUrl() {
return url;
}
/**
* Gets the item's revision.
*
* @return the item's revision
*/
public long getRevision() {
return revision;
}
/**
* Gets the repository root url (where the repository itself
* is installed). Applicable only for remote info operation invocations
* (for items in a repository).
*
* @return the repository's root URL
*/
public SVNURL getRepositoryRootUrl() {
return repositoryRootURL;
}
/**
* Gets the repository Universal Unique IDentifier (UUID).
*
* @return the repository UUID
*/
public String getRepositoryUuid() {
return repositoryUuid;
}
/**
* Gets the item's node kind. Used to find out whether the item is
* a file, directory, etc.
*
* @return the item's node kind
*/
public SVNNodeKind getKind() {
return kind;
}
/**
* Gets the file size.
*
* @return size of file
*/
public long getSize() {
return size;
}
/**
* Gets the item's last changed revision.
*
* @return the item's last changed revision.
*/
public long getLastChangedRevision() {
return lastChangedRevision;
}
/**
* Gets the item's last changed date.
*
* @return a repository last changed date
*/
public SVNDate getLastChangedDate() {
return lastChangedDate;
}
/**
* Gets the item's last changed author.
*
* @return a repository last changed author
*/
public String getLastChangedAuthor() {
return lastChangedAuthor;
}
/**
* Gets the file item's lock. Used to get lock information - lock
* token, comment, etc.
*
* @return the file item's lock.
*/
public SVNLock getLock() {
return lock;
}
/**
* Gets working copy info.
*
* @return working copy info
* @see SvnWorkingCopyInfo
*/
public SvnWorkingCopyInfo getWcInfo() {
return wcInfo;
}
/**
* Sets the item's URL - its repository location.
*
* @param url the item's URL
*/
public void setUrl(SVNURL url) {
this.url = url;
}
/**
* Sets the item's revision.
*
* @param revision the item's revision
*/
public void setRevision(long revision) {
this.revision = revision;
}
/**
* Sets the repository root url (where the repository itself
* is installed). Applicable only for remote info operation invocations
* (for items in a repository).
*
* @param repositoryRootURL the repository's root URL
*/
public void setRepositoryRootURL(SVNURL repositoryRootURL) {
this.repositoryRootURL = repositoryRootURL;
}
/**
* Sets the repository Universal Unique IDentifier (UUID).
*
* @param repositoryUUID the repository UUID
*/
public void setRepositoryUuid(String repositoryUUID) {
this.repositoryUuid = repositoryUUID;
}
/**
* Sets the item's node kind. Used to find out whether the item is
* a file, directory, etc.
*
* @param kind the item's node kind
*/
public void setKind(SVNNodeKind kind) {
this.kind = kind;
}
/**
* Sets the file size.
*
* @param size size of file
*/
public void setSize(long size) {
this.size = size;
}
/**
* Sets the item's last changed revision.
*
* @param lastChangedRevision the item's last changed revision.
*/
public void setLastChangedRevision(long lastChangedRevision) {
this.lastChangedRevision = lastChangedRevision;
}
/**
* Sets the item's last changed date.
*
* @param lastChangedDate a repository last changed date
*/
public void setLastChangedDate(SVNDate lastChangedDate) {
this.lastChangedDate = lastChangedDate;
}
/**
* Sets the item's last changed author.
*
* @param lastChangedAuthor a repository last changed author
*/
public void setLastChangedAuthor(String lastChangedAuthor) {
this.lastChangedAuthor = lastChangedAuthor;
}
/**
* Sets the file item's lock. Used to get lock information - lock
* token, comment, etc.
*
* @param lock the file item's lock.
*/
public void setLock(SVNLock lock) {
this.lock = lock;
}
/**
* Sets working copy info.
*
* @param wcInfo working copy info
* @see SvnWorkingCopyInfo
*/
public void setWcInfo(SvnWorkingCopyInfo wcInfo) {
this.wcInfo = wcInfo;
}
}