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:
19: /* $Id: FileReservedCheckOutException.java 473861 2006-11-12 03:51:14Z gregor $ */
20:
21: package org.apache.lenya.cms.rc;
22:
23: import java.util.Date;
24:
25: /**
26: * Exception for already checked out files
27: */
28: public class FileReservedCheckOutException extends Exception {
29: /**
30: *
31: */
32: private static final long serialVersionUID = 1L;
33: private String source = null;
34: private Date checkOutDate = null;
35: private String checkOutUsername = null;
36:
37: /**
38: * Creates a new FileReservedCheckOutException object.
39: * @param _source The source
40: * @param rcml The RCML
41: * @throws Exception if an error occurs
42: */
43: public FileReservedCheckOutException(String _source, RCML rcml)
44: throws Exception {
45: this .source = _source;
46:
47: try {
48: CheckOutEntry coe = rcml.getLatestCheckOutEntry();
49:
50: this .checkOutUsername = coe.getIdentity();
51: this .checkOutDate = new Date(coe.getTime());
52: } catch (Exception e) {
53: throw new Exception(
54: "Unable to create FileReservedCheckOutException object!");
55: }
56: }
57:
58: /**
59: * Get the date of the checkout.
60: * @return the date of the checkout
61: */
62: public Date getCheckOutDate() {
63: return new Date(this .checkOutDate.getTime());
64: }
65:
66: /**
67: * Get the source of the checkout.
68: * @return the source of the checkout
69: */
70: public String getSource() {
71: return this .source;
72: }
73:
74: /**
75: * Get the user name who did this checkout.
76: * @return the user name of this checkout
77: */
78: public String getCheckOutUsername() {
79: return this.checkOutUsername;
80: }
81:
82: }
|