01: /*
02: * Licensed to the Apache Software Foundation (ASF) under one or more
03: * contributor license agreements. See the NOTICE file distributed with
04: * this work for additional information regarding copyright ownership.
05: * The ASF licenses this file to You under the Apache License, Version 2.0
06: * (the "License"); you may not use this file except in compliance with
07: * the License. You may obtain a copy of the License at
08: *
09: * http://www.apache.org/licenses/LICENSE-2.0
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: */
18: package org.apache.lenya.cms.site.usecases;
19:
20: import org.apache.lenya.cms.publication.Document;
21: import org.apache.lenya.cms.publication.DocumentBuildException;
22: import org.apache.lenya.cms.publication.DocumentFactory;
23: import org.apache.lenya.cms.publication.Publication;
24:
25: /**
26: * Clipboard for cut/copy/paste of documents. The clipping method is either {@link #METHOD_CUT} or
27: * {@link #METHOD_COPY}.
28: *
29: * @version $Id: Clipboard.java 532642 2007-04-26 07:51:51Z andreas $
30: */
31: public class Clipboard {
32:
33: private String publicationId;
34: private String area;
35: private String uuid;
36: private String language;
37: private int method;
38:
39: /**
40: * The "cut" method.
41: */
42: public static final int METHOD_CUT = 0;
43:
44: /**
45: * The "copy" method.
46: */
47: public static final int METHOD_COPY = 1;
48:
49: /**
50: * Ctor.
51: * @param document The document to put on the clipboard.
52: * @param _method The clipping method.
53: */
54: public Clipboard(Document document, int _method) {
55: this .publicationId = document.getPublication().getId();
56: this .area = document.getArea();
57: this .uuid = document.getUUID();
58: this .language = document.getLanguage();
59: this .method = _method;
60: }
61:
62: /**
63: * Returns the document for the current identity map.
64: * @param identityMap The identity map.
65: * @param publication The publication.
66: * @return A document.
67: * @throws DocumentBuildException if the document could not be built.
68: */
69: public Document getDocument(DocumentFactory identityMap,
70: Publication publication) throws DocumentBuildException {
71: Document document = identityMap.get(publication, this .area,
72: this .uuid, this .language);
73: return document;
74: }
75:
76: /**
77: * @return The ID of the publication the document belongs to.
78: */
79: public String getPublicationId() {
80: return this .publicationId;
81: }
82:
83: /**
84: * Returns the method of this clipboard.
85: * @return An integer.
86: */
87: public int getMethod() {
88: return this.method;
89: }
90: }
|