KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > dspace > content > InProgressSubmission


1 /*
2  * InProgressSubmission.java
3  *
4  * Version: $Revision: 1.12 $
5  *
6  * Date: $Date: 2005/10/18 19:43:03 $
7  *
8  * Copyright (c) 2002-2005, Hewlett-Packard Company and Massachusetts
9  * Institute of Technology. All rights reserved.
10  *
11  * Redistribution and use in source and binary forms, with or without
12  * modification, are permitted provided that the following conditions are
13  * met:
14  *
15  * - Redistributions of source code must retain the above copyright
16  * notice, this list of conditions and the following disclaimer.
17  *
18  * - Redistributions in binary form must reproduce the above copyright
19  * notice, this list of conditions and the following disclaimer in the
20  * documentation and/or other materials provided with the distribution.
21  *
22  * - Neither the name of the Hewlett-Packard Company nor the name of the
23  * Massachusetts Institute of Technology nor the names of their
24  * contributors may be used to endorse or promote products derived from
25  * this software without specific prior written permission.
26  *
27  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
28  * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
29  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
30  * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
31  * HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
32  * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
33  * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
34  * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
35  * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR
36  * TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE
37  * USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
38  * DAMAGE.
39  */

40 package org.dspace.content;
41
42 import java.io.IOException JavaDoc;
43 import java.sql.SQLException JavaDoc;
44
45 import org.dspace.authorize.AuthorizeException;
46 import org.dspace.eperson.EPerson;
47
48 /**
49  * Interface for manipulating in-progress submissions, without having to know at
50  * which stage of submission they are (in workspace or workflow system)
51  *
52  * @author Robert Tansley
53  * @version $Revision: 1.12 $
54  */

55 public interface InProgressSubmission
56 {
57     /**
58      * Get the internal ID of this submission
59      *
60      * @return the internal identifier
61      */

62     int getID();
63
64     /**
65      * Deletes submission wrapper, doesn't delete item contents
66      */

67     void deleteWrapper() throws SQLException JavaDoc, IOException JavaDoc, AuthorizeException;
68
69     /**
70      * Update the submission, including the unarchived item.
71      */

72     void update() throws SQLException JavaDoc, IOException JavaDoc, AuthorizeException;
73
74     /**
75      * Get the incomplete item object
76      *
77      * @return the item
78      */

79     Item getItem();
80
81     /**
82      * Get the collection being submitted to
83      *
84      * @return the collection
85      */

86     Collection getCollection();
87
88     /**
89      * Get the submitter
90      *
91      * @return the submitting e-person
92      */

93     EPerson getSubmitter() throws SQLException JavaDoc;
94
95     /**
96      * Find out if the submission has (or is intended to have) more than one
97      * associated bitstream.
98      *
99      * @return <code>true</code> if there is to be more than one file.
100      */

101     boolean hasMultipleFiles();
102
103     /**
104      * Indicate whether the submission is intended to have more than one file.
105      *
106      * @param b
107      * if <code>true</code>, submission may have more than one
108      * file.
109      */

110     void setMultipleFiles(boolean b);
111
112     /**
113      * Find out if the submission has (or is intended to have) more than one
114      * title.
115      *
116      * @return <code>true</code> if there is to be more than one file.
117      */

118     boolean hasMultipleTitles();
119
120     /**
121      * Indicate whether the submission is intended to have more than one title.
122      *
123      * @param b
124      * if <code>true</code>, submission may have more than one
125      * title.
126      */

127     void setMultipleTitles(boolean b);
128
129     /**
130      * Find out if the submission has been published or publicly distributed
131      * before
132      *
133      * @return <code>true</code> if it has been published before
134      */

135     boolean isPublishedBefore();
136
137     /**
138      * Indicate whether the submission has been published or publicly
139      * distributed before
140      *
141      * @param b
142      * <code>true</code> if it has been published before
143      */

144     void setPublishedBefore(boolean b);
145 }
146
Popular Tags