1 /**
2 *
3 * Copyright 2005 The Apache Software Foundation
4 *
5 * Licensed under the Apache License, Version 2.0 (the "License");
6 * you may not use this file except in compliance with the License.
7 * You may obtain a copy of the License at
8 *
9 * 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 package org.apache.geronimo.security.deploy;
18
19 import java.io.Serializable;
20
21
22 /**
23 * @version $Revision: 355877 $ $Date: 2005-12-10 18:48:27 -0800 (Sat, 10 Dec 2005) $
24 */
25 public class DistinguishedName implements Serializable {
26
27 private final String name;
28 private final boolean designatedRunAs;
29
30 public DistinguishedName(String name, boolean designatedRunAs) {
31 if (name == null) throw new IllegalArgumentException("name is null");
32
33 this.name = name;
34 this.designatedRunAs = designatedRunAs;
35 }
36
37 public String getName() {
38 return name;
39 }
40
41 public boolean isDesignatedRunAs() {
42 return designatedRunAs;
43 }
44
45 public boolean equals(Object o) {
46 if (this == o) return true;
47 if (o == null || getClass() != o.getClass()) return false;
48
49 final DistinguishedName that = (DistinguishedName) o;
50
51 if (designatedRunAs != that.designatedRunAs) return false;
52 if (!name.equals(that.name)) return false;
53
54 return true;
55 }
56
57 public int hashCode() {
58 int result;
59 result = name.hashCode();
60 result = 29 * result + (designatedRunAs ? 1 : 0);
61 return result;
62 }
63 }