From 6025b6016517c6d898d8957d1d7e03ba71431912 Mon Sep 17 00:00:00 2001 From: tknall Date: Fri, 1 Dec 2006 12:20:24 +0000 Subject: Initial import of release 2.2. git-svn-id: https://joinup.ec.europa.eu/svn/pdf-as/trunk@4 7b5415b0-85f9-ee4d-85bd-d5d0c3b42d1c --- .../java/com/lowagie/bc/asn1/DERGeneralString.java | 86 ++++++++++++++++++++++ 1 file changed, 86 insertions(+) create mode 100644 src/main/java/com/lowagie/bc/asn1/DERGeneralString.java (limited to 'src/main/java/com/lowagie/bc/asn1/DERGeneralString.java') diff --git a/src/main/java/com/lowagie/bc/asn1/DERGeneralString.java b/src/main/java/com/lowagie/bc/asn1/DERGeneralString.java new file mode 100644 index 0000000..641620b --- /dev/null +++ b/src/main/java/com/lowagie/bc/asn1/DERGeneralString.java @@ -0,0 +1,86 @@ +package com.lowagie.bc.asn1; + +import java.io.IOException; + +public class DERGeneralString + extends DERObject implements DERString +{ + private String string; + + public static DERGeneralString getInstance( + Object obj) + { + if (obj == null || obj instanceof DERGeneralString) + { + return (DERGeneralString) obj; + } + if (obj instanceof ASN1OctetString) + { + return new DERGeneralString(((ASN1OctetString) obj).getOctets()); + } + if (obj instanceof ASN1TaggedObject) + { + return getInstance(((ASN1TaggedObject) obj).getObject()); + } + throw new IllegalArgumentException("illegal object in getInstance: " + + obj.getClass().getName()); + } + + public static DERGeneralString getInstance( + ASN1TaggedObject obj, + boolean explicit) + { + return getInstance(obj.getObject()); + } + + public DERGeneralString(byte[] string) + { + char[] cs = new char[string.length]; + for (int i = 0; i != cs.length; i++) { + cs[i] = (char) (string[i] & 0xff); + } + this.string = new String(cs); + } + + public DERGeneralString(String string) + { + this.string = string; + } + + public String getString() + { + return string; + } + + public byte[] getOctets() + { + char[] cs = string.toCharArray(); + byte[] bs = new byte[cs.length]; + for (int i = 0; i != cs.length; i++) + { + bs[i] = (byte) cs[i]; + } + return bs; + } + + void encode(DEROutputStream out) + throws IOException + { + out.writeEncoded(GENERAL_STRING, this.getOctets()); + } + + public int hashCode() + { + return this.getString().hashCode(); + } + + public boolean equals(Object o) + { + if (!(o instanceof DERGeneralString)) + { + return false; + } + DERGeneralString s = (DERGeneralString) o; + return this.getString().equals(s.getString()); + } +} -- cgit v1.2.3