1
22
23 package com.liferay.lock.model.impl;
24
25 import com.liferay.lock.model.Lock;
26
27 import java.util.Date;
28
29
35 public class LockImpl implements Lock {
36
37 public LockImpl(String className, Comparable pk, long companyId,
38 long userId, long expirationTime) {
39
40 _className = className;
41 _pk = pk;
42 _companyId = companyId;
43 _userId = userId;
44 _expirationTime = expirationTime;
45 _date = new Date();
46 }
47
48 public String getClassName() {
49 return _className;
50 }
51
52 public Comparable getPrimaryKey() {
53 return _pk;
54 }
55
56 public long getCompanyId() {
57 return _companyId;
58 }
59
60 public long getUserId() {
61 return _userId;
62 }
63
64 public long getExpirationTime() {
65 return _expirationTime;
66 }
67
68 public void setExpirationTime(long expirationTime) {
69 _expirationTime = expirationTime;
70 _date = new Date();
71 }
72
73 public boolean isExpired() {
74 Date now = new Date();
75
76 if (now.getTime() > _date.getTime() + _expirationTime) {
77 return true;
78 }
79 else {
80 return false;
81 }
82 }
83
84 public Date getDate() {
85 return _date;
86 }
87
88 public int compareTo(Object obj) {
89 if (obj == null) {
90 return -1;
91 }
92
93 Lock lock = (Lock)obj;
94
95 int value = 0;
96 value = getClassName().compareTo(lock.getClassName());
97
98 if (value != 0) {
99 return value;
100 }
101
102 value = getPrimaryKey().compareTo(lock.getPrimaryKey());
103
104 if (value != 0) {
105 return value;
106 }
107
108 value = getDate().compareTo(lock.getDate());
109
110 if (value != 0) {
111 return value;
112 }
113
114 return 0;
115 }
116
117 public boolean equals(Object obj) {
118 if (obj == null) {
119 return false;
120 }
121
122 Lock lock = (Lock)obj;
123
124 if (getClassName().equals(lock.getClassName()) &&
125 getPrimaryKey().equals(lock.getPrimaryKey())) {
126
127 return true;
128 }
129 else {
130 return false;
131 }
132 }
133
134 public int hashCode() {
135 return getClassName().hashCode() + getPrimaryKey().hashCode();
136 }
137
138 private String _className;
139 private Comparable _pk;
140 private long _companyId;
141 private long _userId;
142 private long _expirationTime;
143 private Date _date;
144
145 }