sventon subversion web client - http://www.sventon.org
[show recent changes]
 
  Help
HEAD
Rev: 52703 - http://anonsvn.icesoft.org/repo / iceutil / trunk / iceutil / util / src / main / java / org / icesoft / util / concurrent / NamedReentrantLock.java
Show File - NamedReentrantLock.java  [show properties]
spinner
package org.icesoft.util.concurrent;
import static org.icesoft.util.ObjectUtilities.isEqual;
import static org.icesoft.util.PreCondition.checkIfIsNotNullAndIsNotEmpty;
import java.io.Serializable;
import java.util.concurrent.locks.Lock;
import java.util.concurrent.locks.ReentrantLock;
import java.util.logging.Level;
10  import java.util.logging.Logger;
11 
12  public class NamedReentrantLock
13  extends ReentrantLock
14  implements Lock, Serializable {
15      private static final long serialVersionUID = -7388399652515720106L;
16 
17      private static final Logger LOGGER = Logger.getLogger(NamedReentrantLock.class.getName());
18 
19      private final String name;
20 
21      public NamedReentrantLock(final String name)
22      throws IllegalArgumentException {
23          this.name =
24              // throws IllegalArgumentException
25              checkIfIsNotNullAndIsNotEmpty(
26                  name,
27                  "Illegal argument name: '" + name + "'.  Argument cannot be null or empty."
28              );
29      }
30 
31      @Override
32      public boolean equals(final Object object) {
33          return
34              object instanceof NamedReentrantLock &&
35                  isEqual(((NamedReentrantLock)object).getName(), getName()) &&
36                  super.equals(object);
37      }
38 
39      public String getName() {
40          return name;
41      }
42 
43      @Override
44      public int hashCode() {
45          int _hashCode;
46          _hashCode = getName().hashCode();
47          return _hashCode;
48      }
49 
50      @Override
51      public String toString() {
52          return
53              new StringBuilder().
54                  append("NamedReentrantLock[").
55                      append(classMembersToString()).
56                  append("]").
57                      toString();
58      }
59 
60      protected String classMembersToString() {
61          return
62              new StringBuilder().
63                  append("name: '").append(getName()).append("'").
64                      toString();
65      }
66  }


feed icon

sventon 2.5.1