001: /*
002: * Copyright (c) 2001 - 2005 ivata limited.
003: * All rights reserved.
004: * -----------------------------------------------------------------------------
005: * ivata groupware may be redistributed under the GNU General Public
006: * License as published by the Free Software Foundation;
007: * version 2 of the License.
008: *
009: * These programs are free software; you can redistribute them and/or
010: * modify them under the terms of the GNU General Public License
011: * as published by the Free Software Foundation; version 2 of the License.
012: *
013: * These programs are distributed in the hope that they will be useful,
014: * but WITHOUT ANY WARRANTY; without even the implied warranty of
015: * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
016: *
017: * See the GNU General Public License in the file LICENSE.txt for more
018: * details.
019: *
020: * If you would like a copy of the GNU General Public License write to
021: *
022: * Free Software Foundation, Inc.
023: * 59 Temple Place - Suite 330
024: * Boston, MA 02111-1307, USA.
025: *
026: *
027: * To arrange commercial support and licensing, contact ivata at
028: * http://www.ivata.com/contact.jsp
029: * -----------------------------------------------------------------------------
030: * $Log: DriveFileDO.java,v $
031: * Revision 1.2 2005/04/09 17:19:43 colinmacleod
032: * Changed copyright text to GPL v2 explicitly.
033: *
034: * Revision 1.1.1.1 2005/03/10 17:51:52 colinmacleod
035: * Restructured ivata op around Hibernate/PicoContainer.
036: * Renamed ivata groupware.
037: *
038: * Revision 1.5 2004/07/13 20:00:13 colinmacleod
039: * Moved project to POJOs from EJBs.
040: * Applied PicoContainer to services layer (replacing session EJBs).
041: * Applied Hibernate to persistence layer (replacing entity EJBs).
042: *
043: * Revision 1.4 2004/03/21 21:16:26 colinmacleod
044: * Shortened name to ivata op.
045: *
046: * Revision 1.3 2004/02/10 19:57:23 colinmacleod
047: * Changed email address.
048: *
049: * Revision 1.2 2004/02/01 22:07:30 colinmacleod
050: * Added full names to author tags
051: *
052: * Revision 1.1.1.1 2004/01/27 20:58:27 colinmacleod
053: * Moved ivata op to sourceforge.
054: *
055: * Revision 1.2 2003/10/15 14:05:21 colin
056: * fixing for XDoclet
057: *
058: * Revision 1.3 2003/08/14 08:11:17 peter
059: * move to no path in db
060: *
061: * Revision 1.2 2003/05/13 15:39:50 jano
062: * fixing *DOs
063: *
064: * Revision 1.1 2003/05/13 08:05:55 peter
065: * added to cvs
066: * -----------------------------------------------------------------------------
067: */
068: package com.ivata.groupware.business.drive.file;
069:
070: import com.ivata.groupware.business.drive.directory.DirectoryDO;
071:
072: /**
073: * <p>Encapsulates a single file of the drive, but doesn't
074: * contain its
075: * content. For content @link FileContentDO is used</p>
076: *
077: * @since 2003-04-10
078: * @author Peter Illes
079: * @version $Revision: 1.2 $
080: */
081: public class DriveFileDO extends FileDO {
082: /**
083: * <p>The parent directory</p>
084: */
085: private DirectoryDO directory;
086:
087: /**
088: * <p>The most recent revision of this file.</p>
089: */
090: private FileRevisionDO headRevision;
091:
092: /**
093: * </p>the path (directory) of the file</p>
094: */
095: private String path;
096:
097: /**
098: * <p>The parent directory</p>
099: *
100: * @return the parent directory
101: * @hibernate.many-to-one
102: */
103: public final DirectoryDO getDirectory() {
104: return directory;
105: }
106:
107: /**
108: * <p>Get the head revision - the most recent CVS revision info
109: * for this file</p>
110: *
111: * @return the last CVS revision info for this file
112: * @hibernate.many-to-one
113: */
114: public FileRevisionDO getHeadRevision() {
115: return this .headRevision;
116: }
117:
118: /**
119: * <p>Get the path of the file</p>
120: *
121: * @return the path of the file
122: * @hibernate.property
123: */
124: public final String getPath() {
125: return this .path;
126: }
127:
128: /**
129: * <p>The parent directory</p>
130: *
131: * @param directory the parent directory
132: */
133: public final void setDirectory(final DirectoryDO directory) {
134: this .directory = directory;
135: }
136:
137: /**
138: * <p>Get the head revision - the most recent CVS revision info
139: * for this file</p>
140: *
141: * @param headRevision the last CVS revision info for this file
142: */
143: public final void setHeadRevision(final FileRevisionDO headRevision) {
144: this .headRevision = headRevision;
145: }
146:
147: /**
148: * <p>Set the path of the file.</p>
149: *
150: * @param path the file path (directory)
151: */
152: public final void setPath(final String path) {
153: this.path = path;
154: }
155: }
|