]> git.aero2k.de Git - tmp/jakarta-migration.git/blob
6436951f4a4e0696ef86ee84ac5fa5d3e3dda30d
[tmp/jakarta-migration.git] /
1 /**
2  *  This document is a part of the source code and related artifacts
3  *  for CollectionSpace, an open source collections management system
4  *  for museums and related institutions:
5
6  *  http://www.collectionspace.org
7  *  http://wiki.collectionspace.org
8
9  *  Copyright 2009 University of California at Berkeley
10
11  *  Licensed under the Educational Community License (ECL), Version 2.0.
12  *  You may not use this file except in compliance with this License.
13
14  *  You may obtain a copy of the ECL 2.0 License at
15
16  *  https://source.collectionspace.org/collection-space/LICENSE.txt
17
18  *  Unless required by applicable law or agreed to in writing, software
19  *  distributed under the License is distributed on an "AS IS" BASIS,
20  *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
21  *  See the License for the specific language governing permissions and
22  *  limitations under the License.
23  */
24 package org.collectionspace.services.common.document;
25
26
27
28 import org.nuxeo.ecm.core.api.DocumentModelList;
29 import org.slf4j.Logger;
30 import org.slf4j.LoggerFactory;
31
32 /**
33  * AbstractMultipartDocumentHandler
34  *
35  * $LastChangedRevision: $
36  * $LastChangedDate: $
37  * @param <T> 
38  * @param <TL> 
39  * @param <WT> 
40  * @param <WTL> 
41  */
42 public abstract class AbstractMultipartDocumentHandlerImpl<T, TL, WT, WTL>
43         extends AbstractDocumentHandlerImpl<T, TL, WT, WTL>
44         implements MultipartDocumentHandler<T, TL, WT, WTL> {
45
46     private final Logger logger = LoggerFactory.getLogger(AbstractMultipartDocumentHandlerImpl.class);
47
48     public AbstractMultipartDocumentHandlerImpl() {
49         //Empty constructor
50     }
51
52     /*
53      * By default we won't support object hierarchy
54      */
55     public boolean supportsHierarchy() {
56         return false;
57     }
58     
59     /*
60      * By default we won't support object versioning
61      */
62     public boolean supportsVersioning() {
63         return false;
64     }
65     
66     /* (non-Javadoc)
67      * @see org.collectionspace.services.common.document.AbstractDocumentHandlerImpl#handleCreate(org.collectionspace.services.common.document.DocumentWrapper)
68      */
69     @Override
70     public abstract void handleCreate(DocumentWrapper<WT> wrapDoc) throws Exception;
71
72     @Override
73     public abstract void handleUpdate(DocumentWrapper<WT> wrapDoc) throws Exception;
74
75     @Override
76     public abstract void handleGet(DocumentWrapper<WT> wrapDoc) throws Exception;
77
78     @Override
79     public abstract void handleGetAll(DocumentWrapper<WTL> wrapDoc) throws Exception;
80
81     @Override
82     public abstract void extractAllParts(DocumentWrapper<WT> wrapDoc)
83             throws Exception;
84
85     @Override
86     public abstract void fillAllParts(DocumentWrapper<WT> wrapDoc, Action action)
87             throws Exception;
88
89     @Override
90     public abstract T extractCommonPart(DocumentWrapper<WT> wrapDoc)
91             throws Exception;
92
93     @Override
94     public abstract void fillCommonPart(T obj, DocumentWrapper<WT> wrapDoc)
95             throws Exception;
96
97     @Override
98     public abstract TL extractCommonPartList(DocumentWrapper<WTL> wrapDoc)
99             throws Exception;
100     
101     @Override
102     public abstract TL extractPagingInfo(TL theCommonList, DocumentWrapper<WTL> wrapDoc)
103                 throws Exception;
104
105     @Override
106     public abstract T getCommonPart();
107
108     @Override
109     public abstract void setCommonPart(T obj);
110
111     @Override
112     public abstract TL getCommonPartList();
113
114     @Override
115     public abstract void setCommonPartList(TL obj);
116
117     @Override
118     public abstract String getQProperty(String prop) throws DocumentException;
119
120 }