]> git.argeo.org Git - lgpl/argeo-commons.git/blob - org.argeo.jcr/src/org/argeo/jcr/SimplePrincipal.java
Factorise get image path.
[lgpl/argeo-commons.git] / org.argeo.jcr / src / org / argeo / jcr / SimplePrincipal.java
1 package org.argeo.jcr;
2
3 import java.security.Principal;
4
5 /** Canonical implementation of a {@link Principal} */
6 class SimplePrincipal implements Principal {
7 private final String name;
8
9 public SimplePrincipal(String name) {
10 if (name == null)
11 throw new IllegalArgumentException("Principal name cannot be null");
12 this.name = name;
13 }
14
15 public String getName() {
16 return name;
17 }
18
19 @Override
20 public int hashCode() {
21 return name.hashCode();
22 }
23
24 @Override
25 public boolean equals(Object obj) {
26 if (obj == null)
27 return false;
28 if (obj instanceof Principal)
29 return name.equals((((Principal) obj).getName()));
30 return name.equals(obj.toString());
31 }
32
33 @Override
34 protected Object clone() throws CloneNotSupportedException {
35 return new SimplePrincipal(name);
36 }
37
38 @Override
39 public String toString() {
40 return name;
41 }
42
43 }