directory-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From erodrig...@apache.org
Subject svn commit: rev 56029 - incubator/directory/kerberos/trunk/source/main/org/apache/kerberos/messages/value
Date Sat, 30 Oct 2004 06:45:01 GMT
Author: erodriguez
Date: Fri Oct 29 23:45:01 2004
New Revision: 56029

Added:
   incubator/directory/kerberos/trunk/source/main/org/apache/kerberos/messages/value/PrincipalNameType.java
   incubator/directory/kerberos/trunk/source/main/org/apache/kerberos/messages/value/Realm.java
Log:
Principal identifier supporting value objects.

Added: incubator/directory/kerberos/trunk/source/main/org/apache/kerberos/messages/value/PrincipalNameType.java
==============================================================================
--- (empty file)
+++ incubator/directory/kerberos/trunk/source/main/org/apache/kerberos/messages/value/PrincipalNameType.java
Fri Oct 29 23:45:01 2004
@@ -0,0 +1,81 @@
+/*
+ *   Copyright 2004 The Apache Software Foundation
+ *
+ *   Licensed under the Apache License, Version 2.0 (the "License");
+ *   you may not use this file except in compliance with the License.
+ *   You may obtain a copy of the License at
+ *
+ *       http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *   Unless required by applicable law or agreed to in writing, software
+ *   distributed under the License is distributed on an "AS IS" BASIS,
+ *   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ *   See the License for the specific language governing permissions and
+ *   limitations under the License.
+ *
+ */
+package org.apache.kerberos.messages.value;
+
+import java.util.*;
+
+public final class PrincipalNameType implements Comparable {
+
+	/**
+	 * Enumeration elements are constructed once upon class loading.
+	 * Order of appearance here determines the order of compareTo.
+	 */
+	public static final PrincipalNameType KRB_NT_UNKNOWN = 
+		new PrincipalNameType(0, "unknown name type");
+	public static final PrincipalNameType KRB_NT_PRINCIPAL = 
+		new PrincipalNameType(1, "user principal name type");
+	public static final PrincipalNameType KRB_NT_SRV_INST = 
+		new PrincipalNameType(2, "service and other unique instance (krbtgt) name type");
+	public static final PrincipalNameType KRB_NT_SRV_HST = 
+		new PrincipalNameType(3, "service with host name as instance (telnet, rcommands)");
+	public static final PrincipalNameType KRB_NT_SRV_XHST = 
+		new PrincipalNameType(4, "service with host name as instance (telnet, rcommands) name type");
+	public static final PrincipalNameType KRB_NT_UID = 
+		new PrincipalNameType(5, "unique ID name type");
+	public static final PrincipalNameType KRB_NT_X500_PRINCIPAL =  
+		new PrincipalNameType(6, "nt x500 principal; encoded X.509 Distinguished name [RFC 2253]");
+	
+	public String toString() {
+		return _fName + " (" + _fOrdinal + ")";
+	}
+
+	public int compareTo(Object that) {
+		return _fOrdinal - ((PrincipalNameType) that)._fOrdinal;
+	}
+
+	public static PrincipalNameType getTypeByOrdinal(int type) {
+		for (int i = 0; i < fValues.length; i++)
+			if (fValues[i]._fOrdinal == type)
+				return fValues[i];
+		return KRB_NT_UNKNOWN;
+	}
+	
+	public int getOrdinal() {
+		return _fOrdinal;
+	}
+
+	/// PRIVATE /////
+	private final String _fName;
+	private final int    _fOrdinal;
+
+	/**
+	 * Private constructor prevents construction outside of this class.
+	 */
+	private PrincipalNameType(int ordinal, String name) {
+		_fOrdinal = ordinal;
+		_fName    = name;
+	}
+
+	/**
+	 * These two lines are all that's necessary to export a List of VALUES.
+	 */
+	private static final PrincipalNameType[] fValues = {KRB_NT_UNKNOWN, KRB_NT_PRINCIPAL, 
+			KRB_NT_SRV_INST, KRB_NT_SRV_HST, KRB_NT_SRV_XHST, KRB_NT_UID, KRB_NT_X500_PRINCIPAL};
+	// VALUES needs to be located here, otherwise illegal forward reference
+	public static final List VALUES = Collections.unmodifiableList(Arrays.asList(fValues));
+}
+

Added: incubator/directory/kerberos/trunk/source/main/org/apache/kerberos/messages/value/Realm.java
==============================================================================
--- (empty file)
+++ incubator/directory/kerberos/trunk/source/main/org/apache/kerberos/messages/value/Realm.java
Fri Oct 29 23:45:01 2004
@@ -0,0 +1,41 @@
+/*
+ *   Copyright 2004 The Apache Software Foundation
+ *
+ *   Licensed under the Apache License, Version 2.0 (the "License");
+ *   you may not use this file except in compliance with the License.
+ *   You may obtain a copy of the License at
+ *
+ *       http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *   Unless required by applicable law or agreed to in writing, software
+ *   distributed under the License is distributed on an "AS IS" BASIS,
+ *   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ *   See the License for the specific language governing permissions and
+ *   limitations under the License.
+ *
+ */
+package org.apache.kerberos.messages.value;
+
+public class Realm {
+
+	private String _name;
+
+	public Realm(String name) {
+		_name = name;
+	}
+	
+	public boolean equals(Object o) {
+		if (this == o)
+			return true;
+		if (!(o instanceof Realm))
+			return false;
+
+		Realm that = (Realm) o;
+		return this._name.equals(that._name);
+	}
+
+	public String toString() {
+		return _name;
+	}
+}
+

Mime
View raw message