Package org.bouncycastle.asn1.x500.style
Class AbstractX500NameStyle
- java.lang.Object
-
- org.bouncycastle.asn1.x500.style.AbstractX500NameStyle
-
- All Implemented Interfaces:
X500NameStyle
- Direct Known Subclasses:
BCStyle
,RFC4519Style
public abstract class AbstractX500NameStyle extends java.lang.Object implements X500NameStyle
This class provides some default behavior and common implementation for a X500NameStyle. It should be easily extendable to support implementing the desired X500NameStyle.
-
-
Constructor Summary
Constructors Constructor Description AbstractX500NameStyle()
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description boolean
areEqual(X500Name name1, X500Name name2)
Return true if the two names are equal.int
calculateHashCode(X500Name name)
Calculate a hashCode for the passed in name.static java.util.Hashtable
copyHashTable(java.util.Hashtable paramsMap)
Tool function to shallow copy a Hashtable.protected ASN1Encodable
encodeStringValue(ASN1ObjectIdentifier oid, java.lang.String value)
Encoded every value into a UTF8String.protected boolean
rdnAreEqual(RDN rdn1, RDN rdn2)
ASN1Encodable
stringToValue(ASN1ObjectIdentifier oid, java.lang.String value)
For all string values starting with '#' is assumed, that these are already valid ASN.1 objects encoded in hex.-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface org.bouncycastle.asn1.x500.X500NameStyle
attrNameToOID, fromString, oidToAttrNames, oidToDisplayName, toString
-
-
-
-
Method Detail
-
copyHashTable
public static java.util.Hashtable copyHashTable(java.util.Hashtable paramsMap)
Tool function to shallow copy a Hashtable.- Parameters:
paramsMap
- table to copy- Returns:
- the copy of the table
-
calculateHashCode
public int calculateHashCode(X500Name name)
Description copied from interface:X500NameStyle
Calculate a hashCode for the passed in name.- Specified by:
calculateHashCode
in interfaceX500NameStyle
- Parameters:
name
- the name the hashCode is required for.- Returns:
- the calculated hashCode.
-
stringToValue
public ASN1Encodable stringToValue(ASN1ObjectIdentifier oid, java.lang.String value)
For all string values starting with '#' is assumed, that these are already valid ASN.1 objects encoded in hex.All other string values are send to
Subclasses should overwriteencodeStringValue(ASN1ObjectIdentifier, String)
.encodeStringValue(ASN1ObjectIdentifier, String)
to change the encoding of specific types.- Specified by:
stringToValue
in interfaceX500NameStyle
- Parameters:
oid
- the DN name of the value.value
- the String representation of the value.- Returns:
- the ASN.1 equivalent for the value.
-
encodeStringValue
protected ASN1Encodable encodeStringValue(ASN1ObjectIdentifier oid, java.lang.String value)
Encoded every value into a UTF8String.Subclasses should overwrite this method to change the encoding of specific types.
- Parameters:
oid
- the DN oid of the valuevalue
- the String representation of the value- Returns:
- a the value encoded into a ASN.1 object. Never returns
null
.
-
areEqual
public boolean areEqual(X500Name name1, X500Name name2)
Description copied from interface:X500NameStyle
Return true if the two names are equal.- Specified by:
areEqual
in interfaceX500NameStyle
- Parameters:
name1
- first name for comparison.name2
- second name for comparison.- Returns:
- true if name1 = name 2, false otherwise.
-
-