1 /*
2 * Copyright (C) 2003-2005 SINTEF
3 * Author: Fredrik Vraalsen (fredrik dot vraalsen at sintef dot no)
4 * Webpage: http://coras.sourceforge.net/
5 *
6 * This program is free software; you can redistribute it and/or
7 * modify it under the terms of the GNU Lesser General Public License
8 * as published by the Free Software Foundation; either version 2.1
9 * of the License, or (at your option) any later version.
10 *
11 * This program is distributed in the hope that it will be useful,
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14 * Lesser General Public License for more details.
15 *
16 * You should have received a copy of the GNU Lesser General Public
17 * License along with this program; if not, write to the Free
18 * Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
19 * 02111-1307 USA
20 */
21 package no.sintef.lock;
22
23 import java.text.SimpleDateFormat;
24 import java.util.Calendar;
25
26 /***
27 * Lock target is already locked by same user.
28 *
29 * @author Fredrik Vraalsen
30 */
31 public class AlreadyLockedException extends LockException {
32
33 private Calendar lockedDate;
34
35 /***
36 * @param lockedDate
37 * when target was locked
38 */
39 public AlreadyLockedException(Calendar lockedDate) {
40 super("Already locked at " + getDateString(lockedDate));
41 this.lockedDate = lockedDate;
42 }
43
44 /***
45 * @return date when target was locked
46 */
47 public Calendar getLockedDate() {
48 return lockedDate;
49 }
50
51 /***
52 * Get formatted date string using default SimpleDateFormat.
53 *
54 * @param date
55 * date to format
56 * @return formatted date string
57 */
58 private static String getDateString(Calendar date) {
59 if (date == null) {
60 return null;
61 }
62 return new SimpleDateFormat().format(date.getTime());
63 }
64
65 }