package org.tmatesoft.svn.core.wc2; import java.io.File; import java.util.Collection; import java.util.Collections; import org.tmatesoft.svn.core.SVNDepth; import org.tmatesoft.svn.core.SVNURL; import org.tmatesoft.svn.core.wc.SVNConflictDescription; /** * Provides information about working copy info, used by {@link SvnInfo}. * * @author TMate Software Ltd. * @version 1.7 * @see SvnInfo * @see SvnGetInfo */ public class SvnWorkingCopyInfo { private File path; private SvnSchedule schedule; private SVNURL copyFromUrl; private long copyFromRevision; private SvnChecksum checksum; private String changelist; private SVNDepth depth; private long recordedSize; private long recordedTime; private Collection<SVNConflictDescription> conflicts; private File wcRoot; private File movedFrom; private File movedTo; /** * Returns working copy path. * * @return path */ public File getPath() { return path; } /** * Returns {@link SvnSchedule} attribute, <code>null</null> if not scheduled. * * @return schedule of the item */ public SvnSchedule getSchedule() { return schedule; } /** * Gets the URL (repository location) of the ancestor from which the item * was copied. That is when the item is added with history. * * @return the item ancestor's URL */ public SVNURL getCopyFromUrl() { return copyFromUrl; } /** * Returns checksum of the file, <code>null</null> for directory. * * @return checksum of the file */ public SvnChecksum getChecksum() { return checksum; } /** * Returns changelist name assigned to item, <code>null</null> if item is not in changelist. * * @return changelist name */ public String getChangelist() { return changelist; } /** * Returns the local item's depth. * * @return the local depth of the item */ public SVNDepth getDepth() { return depth; } /** * Returns last changed file size. * * @return file size */ public long getRecordedSize() { return recordedSize; } /** * Return last changed item's time. * * @return changed time of the item */ public long getRecordedTime() { return recordedTime; } /** * Returns all item's conflicts. * * @return conflicts of the item */ public Collection<SVNConflictDescription> getConflicts() { if (conflicts == null) { return Collections.emptyList(); } return conflicts; } /** * Return item's working copy root. * * @return working copy root of the item */ public File getWcRoot() { return wcRoot; } /** * Sets working copy path. * * @param path path */ public void setPath(File path) { this.path = path; } /** * Sets {@link SvnSchedule} attribute. * * @param schedule schedule of the item */ public void setSchedule(SvnSchedule schedule) { this.schedule = schedule; } /** * Sets the URL (repository location) of the ancestor from which the item * was copied. That is when the item is added with history. * * @param copyFromURL the item ancestor's URL */ public void setCopyFromUrl(SVNURL copyFromURL) { this.copyFromUrl = copyFromURL; } /** * Sets checksum of the file. * * @param checksum checksum of the file */ public void setChecksum(SvnChecksum checksum) { this.checksum = checksum; } /** * Sets changelist name assigned to item. * * @param changelist changelist name */ public void setChangelist(String changelist) { this.changelist = changelist; } /** * Sets the local item's depth. * * @param depth the local depth of the item */ public void setDepth(SVNDepth depth) { this.depth = depth; } /** * Sets last changed file size. * * @param recordedSize file size */ public void setRecordedSize(long recordedSize) { this.recordedSize = recordedSize; } /** * Sets last changed item's time. * * @param recordedTime changed time of the item */ public void setRecordedTime(long recordedTime) { this.recordedTime = recordedTime; } /** * Sets the item's conflicts. * * @param conflicts conflicts of the item */ public void setConflicts(Collection<SVNConflictDescription> conflicts) { this.conflicts = conflicts; } /** * Sets item's working copy root. * * @param wcRoot working copy root of the item */ public void setWcRoot(File wcRoot) { this.wcRoot = wcRoot; } /** * Gets the revision of the item's ancestor from which the item was copied * (the item is added with history). * * @return the ancestor's revision */ public long getCopyFromRevision() { return copyFromRevision; } /** * Sets the revision of the item's ancestor from which the item was copied * (the item is added with history). * * @param copyFromRevision the ancestor's revision */ public void setCopyFromRevision(long copyFromRevision) { this.copyFromRevision = copyFromRevision; } public File getMovedFrom() { return movedFrom; } public void setMovedFrom(File movedFrom) { this.movedFrom = movedFrom; } public File getMovedTo() { return movedTo; } public void setMovedTo(File movedTo) { this.movedTo = movedTo; } }