01: /*
02: * Copyright 2005-2006 The Kuali Foundation.
03: *
04: *
05: * Licensed under the Educational Community License, Version 1.0 (the "License");
06: * you may not use this file except in compliance with the License.
07: * You may obtain a copy of the License at
08: *
09: * http://www.opensource.org/licenses/ecl1.php
10: *
11: * Unless required by applicable law or agreed to in writing, software
12: * distributed under the License is distributed on an "AS IS" BASIS,
13: * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14: * See the License for the specific language governing permissions and
15: * limitations under the License.
16: */
17: package edu.iu.uis.eden.routeheader;
18:
19: import java.util.Collection;
20: import java.util.Set;
21:
22: import edu.iu.uis.eden.doctype.DocumentType;
23:
24: /**
25: * A service providing data access for documents (a.k.a route headers).
26: *
27: * @see DocumentRouteHeaderValue
28: *
29: * @author rkirkend
30: * @author bmcgough
31: */
32: public interface RouteHeaderService {
33:
34: public DocumentRouteHeaderValue getRouteHeader(Long routeHeaderId);
35:
36: public DocumentRouteHeaderValue getRouteHeader(Long routeHeaderId,
37: boolean clearCache);
38:
39: public void lockRouteHeader(Long routeHeaderId, boolean wait);
40:
41: public void saveRouteHeader(DocumentRouteHeaderValue routeHeader);
42:
43: public void deleteRouteHeader(DocumentRouteHeaderValue routeHeader);
44:
45: public Long getNextRouteHeaderId();
46:
47: public void validateRouteHeader(DocumentRouteHeaderValue routeHeader);
48:
49: public Collection findPendingByResponsibilityIds(
50: Set responsibilityIds);
51:
52: /**
53: * Removes all SearchableAttributeValues associated with the RouteHeader.
54: * @param routeHeader
55: */
56: public void clearRouteHeaderSearchValues(
57: DocumentRouteHeaderValue routeHeader);
58:
59: /**
60: * Returns the Message Entity of the {@link DocumentType} for the Document with the given ID.
61: */
62: public String getMessageEntityByDocumentId(Long documentId);
63:
64: public DocumentRouteHeaderValueContent getContent(Long routeHeaderId);
65: }
|