001: /**
002: * @copyright
003: * ====================================================================
004: * Copyright (c) 2003-2004 CollabNet. All rights reserved.
005: *
006: * This software is licensed as described in the file COPYING, which
007: * you should have received as part of this distribution. The terms
008: * are also available at http://subversion.tigris.org/license-1.html.
009: * If newer versions of this license are posted there, you may use a
010: * newer version instead, at your option.
011: *
012: * This software consists of voluntary contributions made by many
013: * individuals. For exact contribution history, see the revision
014: * history and logs, available at http://subversion.tigris.org/.
015: * ====================================================================
016: * @endcopyright
017: */package org.tigris.subversion.javahl;
018:
019: /**
020: * this class describes a item which will be commited.
021: */
022: public class CommitItem {
023: /**
024: * the pathname of the item to be commit
025: */
026: String path;
027: /**
028: * the kind node (file or directory)
029: */
030: int nodeKind;
031: /**
032: * the kind of change to be commited (See CommitItemStateFlages)
033: */
034: int stateFlags;
035: /**
036: * the url of the item
037: */
038: String url;
039: /**
040: * the source of the copy
041: */
042: String copyUrl;
043: /**
044: * the revision
045: */
046: long revision;
047:
048: /**
049: * This constructor will be only called from the jni code.
050: * @param p path to the commit item
051: * @param nk kind of node (see NodeKind)
052: * @param sf state flags (see StateFlags)
053: * @param u url of the item
054: * @param cu copy source url
055: * @param r revision number
056: */
057: CommitItem(String p, int nk, int sf, String u, String cu, long r) {
058: path = p;
059: nodeKind = nk;
060: stateFlags = sf;
061: url = u;
062: copyUrl = cu;
063: revision = r;
064: }
065:
066: /**
067: * retrieve the path of the commit item
068: * @return the path.
069: */
070: public String getPath() {
071: return path;
072: }
073:
074: /**
075: * return the node kind of the commit item
076: * @return the node kind. Look at the NodeKind class.
077: */
078: public int getNodeKind() {
079: return nodeKind;
080: }
081:
082: /**
083: * return the kind of change for the commit item.
084: * @return the state flags. Look at the CommitItemStateFlags interface.
085: */
086: public int getStateFlags() {
087: return stateFlags;
088: }
089:
090: /**
091: * the class for the commit item state flags. The values are ored together
092: * the values are CommitItemStateFlags for building reasons.
093: */
094: public static class StateFlags implements CommitItemStateFlags {
095: }
096:
097: /**
098: * Returns the url of the item
099: * @return url
100: */
101: public String getUrl() {
102: return url;
103: }
104:
105: /**
106: * Returns the source url if the item is copied
107: * @return source url
108: */
109: public String getCopyUrl() {
110: return copyUrl;
111: }
112:
113: /**
114: * Returns the revision number
115: * @return revision number
116: */
117: public long getRevision() {
118: return revision;
119: }
120: }
|