001: /*
002: * Licensed to the Apache Software Foundation (ASF) under one or more
003: * contributor license agreements. See the NOTICE file distributed with
004: * this work for additional information regarding copyright ownership.
005: * The ASF licenses this file to You under the Apache License, Version 2.0
006: * (the "License"); you may not use this file except in compliance with
007: * the License. You may obtain a copy of the License at
008: *
009: * http://www.apache.org/licenses/LICENSE-2.0
010: *
011: * Unless required by applicable law or agreed to in writing, software
012: * distributed under the License is distributed on an "AS IS" BASIS,
013: * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
014: * See the License for the specific language governing permissions and
015: * limitations under the License.
016: *
017: */
018: package org.apache.tools.ant.taskdefs.cvslib;
019:
020: import java.util.Date;
021: import java.util.Vector;
022:
023: /**
024: * CVS Entry.
025: *
026: */
027: public class CVSEntry {
028: private Date date;
029: private String author;
030: private final String comment;
031: private final Vector files = new Vector();
032:
033: /**
034: * Creates a new instance of a CVSEntry
035: * @param date the date
036: * @param author the author
037: * @param comment a comment to be added to the revision
038: */
039: public CVSEntry(final Date date, final String author,
040: final String comment) {
041: this .date = date;
042: this .author = author;
043: this .comment = comment;
044: }
045:
046: /**
047: * Adds a file to the CVSEntry
048: * @param file the file to add
049: * @param revision the revision
050: */
051: public void addFile(final String file, final String revision) {
052: files.addElement(new RCSFile(file, revision));
053: }
054:
055: /**
056: * Adds a file to the CVSEntry
057: * @param file the file to add
058: * @param revision the revision
059: * @param previousRevision the previous revision
060: */
061: public void addFile(final String file, final String revision,
062: final String previousRevision) {
063: files.addElement(new RCSFile(file, revision, previousRevision));
064: }
065:
066: /**
067: * Gets the date of the CVSEntry
068: * @return the date
069: */
070: public Date getDate() {
071: return date;
072: }
073:
074: /**
075: * Sets the author of the CVSEntry
076: * @param author the author
077: */
078: public void setAuthor(final String author) {
079: this .author = author;
080: }
081:
082: /**
083: * Gets the author of the CVSEntry
084: * @return the author
085: */
086: public String getAuthor() {
087: return author;
088: }
089:
090: /**
091: * Gets the comment for the CVSEntry
092: * @return the comment
093: */
094: public String getComment() {
095: return comment;
096: }
097:
098: /**
099: * Gets the files in this CVSEntry
100: * @return the files
101: */
102: public Vector getFiles() {
103: return files;
104: }
105:
106: /**
107: * Gets a String containing author, date, files and comment
108: * @return a string representation of this CVSEntry
109: */
110: public String toString() {
111: return getAuthor() + "\n" + getDate() + "\n" + getFiles()
112: + "\n" + getComment();
113: }
114: }
|