package org.tmatesoft.svn.core.wc2; /** * Represents status summary information for local working copy item, * including all its children. * is used in {@link SvnGetStatusSummary}. * * @author TMate Software Ltd. * @version 1.7 * @since 1.7 * @see SvnGetStatusSummary */ public class SvnStatusSummary extends SvnObject { private long minRevision; private long maxRevision; private boolean isModified; private boolean isSparseCheckout; private boolean isSwitched; /** * Returns the smallest revision between all found items. * * @return the smallest revision */ public long getMinRevision() { return minRevision; } /** * Returns the biggest item's revision between all found items. * * @return the biggest revision */ public long getMaxRevision() { return maxRevision; } /** * Returns whether at least one of the items is changed in working copy. * * @return <code>true</code> if one of the items is changed, otherwise <code>false</code> */ public boolean isModified() { return isModified; } /** * Gets whether the items are result of "sparse" checkout. * * @return <code>true</code> if items are result of "sparse" checkout, otherwise <code>false</code> * @since 1.7 */ public boolean isSparseCheckout() { return isSparseCheckout; } /** * Returns whether at least one of the items is switched to a different repository location. * * @return <code>true</code> if one of the items is switched to a different repository location, otherwise <code>false</code> */ public boolean isSwitched() { return isSwitched; } /** * Sets the smallest revision between all found items. * * @param minRevision the smallest revision */ public void setMinRevision(long minRevision) { this.minRevision = minRevision; } /** * Sets the biggest item's revision between all found items. * * @param maxRevision the biggest revision */ public void setMaxRevision(long maxRevision) { this.maxRevision = maxRevision; } /** * Sets whether at least one of the items is changed in working copy. * * @param isModified <code>true</code> if one of the items is changed, otherwise <code>false</code> */ public void setModified(boolean isModified) { this.isModified = isModified; } /** * Sets whether the items are result of "sparse" checkout. * * @param isSparseCheckout <code>true</code> if items are result of "sparse" checkout, otherwise <code>false</code> * @since 1.7 */ public void setSparseCheckout(boolean isSparseCheckout) { this.isSparseCheckout = isSparseCheckout; } /** * Sets whether at least one of the items is switched to a different repository location. * * @param isSwitched <code>true</code> if one of the items is switched to a different repository location, otherwise <code>false</code> */ public void setSwitched(boolean isSwitched) { this.isSwitched = isSwitched; } /** * Returns <code>String</code> representation of summary status. * @return summary status as <code>String</code> */ public String toString() { StringBuffer result = new StringBuffer(); result.append(getMinRevision()); if (getMaxRevision() != getMinRevision()) { result.append(":"); result.append(getMaxRevision()); } result.append(isModified() ? "M" : ""); result.append(isSwitched() ? "S" : ""); result.append(isSparseCheckout() ? "P" : ""); return result.toString(); } }