blob: 637215bbc7ffb1897243b1019b5ca8a952de9d06 [file] [log] [blame]
/**
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. The ASF licenses this file
* to you 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.kerby.x509.type;
import org.apache.kerby.asn1.EnumType;
import org.apache.kerby.asn1.type.Asn1BmpString;
import org.apache.kerby.asn1.type.Asn1Choice;
import org.apache.kerby.asn1.Asn1FieldInfo;
import org.apache.kerby.asn1.type.Asn1PrintableString;
import org.apache.kerby.asn1.type.Asn1T61String;
import org.apache.kerby.asn1.type.Asn1UniversalString;
import org.apache.kerby.asn1.type.Asn1Utf8String;
import static org.apache.kerby.x509.type.DirectoryString.MyEnum.*;
/**
* <pre>
* DirectoryString ::= CHOICE {
* teletexString TeletexString (SIZE (1..MAX)),
* printableString PrintableString (SIZE (1..MAX)),
* universalString UniversalString (SIZE (1..MAX)),
* utf8String UTF8String (SIZE (1..MAX)),
* bmpString BMPString (SIZE (1..MAX))
* }
* </pre>
*/
public class DirectoryString extends Asn1Choice {
protected static enum MyEnum implements EnumType {
TELETEX_STRING,
PRINTABLE_STRING,
UNIVERSAL_STRING,
UTF8_STRING,
BMP_STRING;
@Override
public int getValue() {
return ordinal();
}
@Override
public String getName() {
return name();
}
}
static Asn1FieldInfo[] fieldInfos = new Asn1FieldInfo[]{
new Asn1FieldInfo(TELETEX_STRING, Asn1T61String.class),
new Asn1FieldInfo(PRINTABLE_STRING, Asn1PrintableString.class),
new Asn1FieldInfo(UNIVERSAL_STRING, Asn1UniversalString.class),
new Asn1FieldInfo(UTF8_STRING, Asn1Utf8String.class),
new Asn1FieldInfo(BMP_STRING, Asn1BmpString.class)
};
public DirectoryString() {
super(fieldInfos);
}
public Asn1T61String getTeletexString() {
return getFieldAs(TELETEX_STRING, Asn1T61String.class);
}
public void setTeletexString(Asn1T61String teletexString) {
setFieldAs(TELETEX_STRING, teletexString);
}
public Asn1PrintableString getPrintableString() {
return getFieldAs(PRINTABLE_STRING, Asn1PrintableString.class);
}
public void setPrintableString(Asn1PrintableString printableString) {
setFieldAs(PRINTABLE_STRING, printableString);
}
public Asn1UniversalString getUniversalString() {
return getFieldAs(UNIVERSAL_STRING, Asn1UniversalString.class);
}
public void setUniversalString(Asn1UniversalString universalString) {
setFieldAs(UNIVERSAL_STRING, universalString);
}
public Asn1Utf8String getUtf8String() {
return getFieldAs(UTF8_STRING, Asn1Utf8String.class);
}
public void setUtf8String(Asn1Utf8String utf8String) {
setFieldAs(UTF8_STRING, utf8String);
}
public Asn1BmpString getBmpString() {
return getFieldAs(BMP_STRING, Asn1BmpString.class);
}
public void setBmpString(Asn1BmpString bmpString) {
setFieldAs(BMP_STRING, bmpString);
}
}