001: /**
002: * @copyright
003: * ====================================================================
004: * Copyright (c) 2003-2005 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: *
017: * @endcopyright
018: */package org.tigris.subversion.javahl;
019:
020: import java.util.Date;
021:
022: /**
023: * class to describe a lock. It is return by the lock operation
024: * @since 1.2
025: */
026: public class Lock {
027: /**
028: * the owner of the lock
029: */
030: private String owner;
031: /**
032: * the path of the locked item
033: */
034: private String path;
035: /**
036: * the token provided during the lock operation
037: */
038: private String token;
039: /**
040: * the comment provided during the lock operation
041: */
042: private String comment;
043: /**
044: * the date when the lock was created
045: */
046: private long creationDate;
047: /**
048: * the date when the lock will expire
049: */
050: private long expirationDate;
051:
052: /**
053: * this constructor should only called from JNI code
054: * @param owner the owner of the lock
055: * @param path the path of the locked item
056: * @param token the lock token
057: * @param comment the lock comment
058: * @param creationDate the date when the lock was created
059: * @param expirationDate the date when the lock will expire
060: */
061: Lock(String owner, String path, String token, String comment,
062: long creationDate, long expirationDate) {
063: this .owner = owner;
064: this .path = path;
065: this .token = token;
066: this .comment = comment;
067: this .creationDate = creationDate;
068: this .expirationDate = expirationDate;
069: }
070:
071: /**
072: * @return the owner of the lock
073: */
074: public String getOwner() {
075: return owner;
076: }
077:
078: /**
079: * @return the path of the locked item
080: */
081: public String getPath() {
082: return path;
083: }
084:
085: /**
086: * @return the token provided during the lock operation
087: */
088: public String getToken() {
089: return token;
090: }
091:
092: /**
093: * @return the comment provided during the lock operation
094: */
095: public String getComment() {
096: return comment;
097: }
098:
099: /**
100: * @return the date the lock was created
101: */
102: public Date getCreationDate() {
103: if (creationDate == 0)
104: return null;
105: else
106: return new Date(creationDate / 1000);
107: }
108:
109: /**
110: * @return the date when the lock will expire
111: */
112: public Date getExpirationDate() {
113: if (expirationDate == 0)
114: return null;
115: else
116: return new Date(expirationDate / 1000);
117: }
118:
119: }
|