head	1.8;
access;
symbols
	TIGRIS_1_1_0RC2:1.5.2.1
	TIGRIS_1_1_0RC1:1.5.2.1
	TIGRIS_1_1:1.5.2.1.0.2
	TIGRIS_1_0_8:1.5.2.1
	TIGRIS_1_0_8RC3:1.5.2.1
	TIGRIS_1_0_8RC2:1.5.2.1
	TIGRIS_1_0_8RC1:1.5.2.1
	TIGRIS_1_0_7:1.5.2.1
	TIGRIS_1_0_7RC3:1.5.2.1
	TIGRIS_1_0_7RC2:1.5.2.1
	TIGRIS_1_0_7RC1:1.5.2.1
	TIGRIS_1_0_6:1.5.2.1
	TIGRIS_1_0_6RC5:1.5.2.1
	TIGRIS_1_0_6RC4:1.5.2.1
	TIGRIS_1_0_6RC3:1.5.2.1
	TIGRIS_1_0_6RC2:1.5.2.1
	TIGRIS_1_0_6RC1:1.5.2.1
	TIGRIS_1_0_5:1.5.2.1
	TIGRIS_1_0_5RC6:1.5.2.1
	TIGRIS_1_0_5RC5:1.5.2.1
	TIGRIS_1_0_5RC4:1.5.2.1
	TIGRIS_1_0_5RC3:1.5.2.1
	TIGRIS_1_0_5RC2:1.5.2.1
	TIGRIS_1_0_5RC1:1.5.2.1
	TIGRIS_1_0_4:1.5.2.1
	TIGRIS_1_0_3:1.5.2.1
	TIGRIS_1_0_2:1.5.2.1
	TIGRIS_1_0:1.5.0.2;
locks; strict;
comment	@# @;


1.8
date	2001.08.15.23.47.39;	author dlr;	state Exp;
branches;
next	1.7;

1.7
date	2001.05.31.20.42.17;	author dlr;	state Exp;
branches;
next	1.6;

1.6
date	2001.05.31.19.12.27;	author elicia;	state Exp;
branches;
next	1.5;

1.5
date	2001.04.24.19.52.08;	author dlr;	state Exp;
branches
	1.5.2.1;
next	1.4;

1.4
date	2001.04.24.17.44.24;	author dlr;	state Exp;
branches;
next	1.3;

1.3
date	2001.04.24.01.59.43;	author dlr;	state Exp;
branches;
next	1.2;

1.2
date	2001.04.24.01.55.05;	author dlr;	state Exp;
branches;
next	1.1;

1.1
date	2001.04.24.00.56.11;	author dlr;	state Exp;
branches;
next	;

1.5.2.1
date	2001.04.24.20.29.29;	author dlr;	state Exp;
branches;
next	;


desc
@@


1.8
log
@Changed ProjectFileArtifact interface from xxxSize to xxxFileSize to play nicely with Torque OM-generation for Oracle (in which SIZE is a reserved word).
@
text
@/* ================================================================
 * Copyright (c) 2000-2001 CollabNet.  All rights reserved.
 * 
 * Redistribution and use in source and binary forms, with or without
 * modification, are permitted provided that the following conditions are
 * met:
 * 
 * 1. Redistributions of source code must retain the above copyright
 * notice, this list of conditions and the following disclaimer.
 * 
 * 2. Redistributions in binary form must reproduce the above copyright
 * notice, this list of conditions and the following disclaimer in the
 * documentation and/or other materials provided with the distribution.
 * 
 * 3. The end-user documentation included with the redistribution, if
 * any, must include the following acknowlegement: "This product includes
 * software developed by CollabNet (http://www.collab.net/)."
 * Alternately, this acknowlegement may appear in the software itself, if
 * and wherever such third-party acknowlegements normally appear.
 * 
 * 4. The hosted project names must not be used to endorse or promote
 * products derived from this software without prior written
 * permission. For written permission, please contact info@@collab.net.
 * 
 * 5. Products derived from this software may not use the "Tigris" name
 * nor may "Tigris" appear in their names without prior written
 * permission of CollabNet.
 * 
 * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
 * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
 * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
 * IN NO EVENT SHALL COLLABNET OR ITS CONTRIBUTORS BE LIABLE FOR ANY
 * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
 * GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
 * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER
 * IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
 * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
 * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 *
 * ====================================================================
 * 
 * This software consists of voluntary contributions made by many
 * individuals on behalf of CollabNet.
 */

package org.tigris.helm.om;

/** 
 * A file artifact of a project.
 *
 * @@author <a href="mailto:dlr@@collab.net">Daniel Rall</a>
 */
public interface ProjectFileArtifact extends ProjectArtifact
{
    /**
     * Returns the base file name of the file artifact.
     */
    public String getFileName();

    /**
     * Sets the file name for this artifact.
     */
    public void setFileName(String name);

    /**
     * Returns the path to the file (not including base name).
     */
    public String getLocation();

    /**
     * Sets the location for this artifact.
     */
    public void setLocation(String location);

    /**
     * Gets the file size for this artifact.
     */
    public long getFileSize();

    /**
     * Sets the file size for this artifact.
     */
    public void setFileSize(long size);

    /**
     * Gets the MD5 checksum for this artifact.
     */
    public String getMd5();

    /**
     * Sets the MD5 checksum for this artifact.
     */
    public void setMd5(String md5Checksum);

    /**
     * Returns a string describing the type of this file artifact.
     */
    public String getFileArtifactType();
}
@


1.7
log
@Pushed getID() and isPublic() from ProjectFileArtifact up into
ProjectArtifact.
@
text
@d79 1
a79 1
    public long getSize();
d84 1
a84 1
    public void setSize(long size);
@


1.6
log
@Many changes to the Project Documents component.  It is now replacing ProjectDownloads (will remove it from cvs after a while). Took out the "type" variable so that a Document can have a file upload attachment and/or a remote URL and/or pasted text, instead of only one of the three. Added fields for modified by and modified date. Also added isPublic field for file uploads, and a status field.

Document file uploads are now being saved in helm/data/fileserv/documents/[document_id]. Refactored htAccess file code to reflect that and to fix other bugs.
Dropped $type parameter from URL arguments."

UI has changed: ProjectDocumentList now has a 2-pane UI with a folder tree on the left pane and the document list on the right.  When in the list you have a "root folder" that is the root of the tree.  Folders can now be infinitely nested instead of just two levels deep.  You add a document or subfolder directly to the root section.
@
text
@a56 5
     * Returns the id of the file artifact.
     */
    public String getID();

    /**
a94 6

    /**
     * Returns whether this artifact has been designated as publicly
     * accessible.
     */
    public boolean isPublic();
@


1.5
log
@Implemented clean OO-style suggested by edk instead of my quick hack.
@
text
@d57 5
@


1.5.2.1
log
@Added new interfaces (currently used by ProjectDocument and ProjectDownload).
@
text
@@


1.4
log
@Added isPublic() to interface.
@
text
@d101 5
@


1.3
log
@Added a few more routines.
@
text
@d95 6
@


1.2
log
@Added more common operations.
@
text
@d77 6
a82 1
     * Sets the size for this artifact.
d85 10
@


1.1
log
@A file artifact of a project.
@
text
@d62 5
d70 10
@

