Red Hat Application Migration Toolkit
package iaik.x509.extensions; import iaik.asn1.ASN; import iaik.asn1.ASN1Object; import iaik.asn1.CON_SPEC; import iaik.asn1.CodingException; import iaik.asn1.ObjectID; import iaik.asn1.SEQUENCE; import iaik.asn1.structures.GeneralSubtree; import iaik.x509.V3Extension; import iaik.x509.X509ExtensionException; public class NameConstraints extends V3Extension { // $FF: synthetic field static Class c; GeneralSubtree[] b; GeneralSubtree[] a; public static final ObjectID oid = new ObjectID("2.5.29.30", "NameConstraints"); static Class a(String var0) { try { return Class.forName(var0); } catch (ClassNotFoundException var2) { throw new NoClassDefFoundError(var2.getMessage()); } } public String toString() { StringBuffer var1 = new StringBuffer(); int var2; if(this.a != null) { var1.append("permitted subtrees:\n"); for(var2 = 0; var2 < this.a.length; ++var2) { var1.append(var2 + 1 + ": "); var1.append(this.a[var2]); var1.append("\n"); } } if(this.b != null) { var1.append("excluded subtrees:\n"); for(var2 = 0; var2 < this.b.length; ++var2) { var1.append(var2 + 1 + ": "); var1.append(this.b[var2]); var1.append("\n"); } } var1.setLength(var1.length() - 1); return var1.toString(); } public ASN1Object toASN1Object() throws X509ExtensionException { boolean var1 = true; SEQUENCE var2 = new SEQUENCE(); try { ASN1Object var3; if(this.a != null) { var3 = ASN.createSequenceOf(this.a); var2.addComponent(new CON_SPEC(0, var3, var1)); } if(this.b != null) { var3 = ASN.createSequenceOf(this.b); var2.addComponent(new CON_SPEC(1, var3, var1)); } return var2; } catch (CodingException var4) { throw new X509ExtensionException(var4.toString()); } } public void setPermittedSubtrees(GeneralSubtree[] var1) { this.a = var1; } public void setExcludedSubtrees(GeneralSubtree[] var1) { this.b = var1; } public void init(ASN1Object var1) throws X509ExtensionException { try { if(!var1.isA(ASN.SEQUENCE)) { throw new X509ExtensionException("NameConstraints has to be a SEQUENCE!"); } else { int var2 = 0; int var3 = var1.countComponents(); if(var3 > 2) { throw new X509ExtensionException("NameConstraints cannot include more than two components!"); } else { for(; var2 < var3; ++var2) { CON_SPEC var4 = (CON_SPEC)var1.getComponentAt(var2); boolean var5 = false; if(var4.countComponents() > 1) { var4.forceImplicitlyTagged(ASN.SEQUENCE); var5 = true; } if(!var5) { ASN1Object var6 = var4.getComponentAt(0).getComponentAt(0); if(!var6.isA(ASN.SEQUENCE)) { var4.forceImplicitlyTagged(ASN.SEQUENCE); } } switch(var4.getAsnType().getTag()) { case 0: this.a = (GeneralSubtree[])ASN.parseSequenceOf((ASN1Object)var4.getValue(), c != null?c:(c = a("iaik.asn1.structures.GeneralSubtree"))); break; case 1: this.b = (GeneralSubtree[])ASN.parseSequenceOf((ASN1Object)var4.getValue(), c != null?c:(c = a("iaik.asn1.structures.GeneralSubtree"))); } } } } } catch (Exception var7) { throw new X509ExtensionException(var7.toString()); } } public int hashCode() { return oid.hashCode(); } public GeneralSubtree[] getPermittedSubtrees() { return this.a; } public ObjectID getObjectID() { return oid; } public GeneralSubtree[] getExcludedSubtrees() { return this.b; } }