@Override public void decode(byte[] content) throws IOException { decode(ByteBuffer.wrap(content)); }
@Override protected void decodeBody(Asn1ParseResult parseResult) throws IOException { Asn1Encodeable value = (Asn1Encodeable) getValue(); if (isImplicit()) { value.decodeBody(parseResult); } else { Asn1Container container = (Asn1Container) parseResult; Asn1ParseResult body = container.getChildren().get(0); value.decode(body); } }
@Override protected void decodeBody(Asn1ParseResult parseResult) throws IOException { Asn1Encodeable value = (Asn1Encodeable) getValue(); if (isImplicit()) { value.decodeBody(parseResult); } else { Asn1Container container = (Asn1Container) parseResult; Asn1ParseResult body = container.getChildren().get(0); value.decode(body); } }
@Override public void decode(byte[] content) throws IOException { decode(ByteBuffer.wrap(content)); }
public void taggedDecode(Asn1ParseResult parseResult, TaggingOption taggingOption) throws IOException { Tag expectedTaggingTagFlags = taggingOption.getTag(!isPrimitive()); Asn1ParseResult tmpParseResult = parseResult; if (!expectedTaggingTagFlags.equals(parseResult.tag())) { // Primitive but using constructed encoding if (isPrimitive() && !parseResult.isPrimitive()) { Asn1Container container = (Asn1Container) parseResult; tmpParseResult = new Asn1DerivedItem(tag(), container); } else { throw new IOException("Unexpected tag " + parseResult.tag() + ", expecting " + expectedTaggingTagFlags); } } if (taggingOption.isImplicit()) { decodeBody(tmpParseResult); } else { Asn1Container container = (Asn1Container) parseResult; tmpParseResult = container.getChildren().get(0); decode(tmpParseResult); } } }
@Override public void decode(ByteBuffer content) throws IOException { Asn1ParseResult parseResult = Asn1Parser.parse(content); decode(parseResult); }
public void taggedDecode(Asn1ParseResult parseResult, TaggingOption taggingOption) throws IOException { Tag expectedTaggingTagFlags = taggingOption.getTag(!isPrimitive()); Asn1ParseResult tmpParseResult = parseResult; if (!expectedTaggingTagFlags.equals(parseResult.tag())) { // Primitive but using constructed encoding if (isPrimitive() && !parseResult.isPrimitive()) { Asn1Container container = (Asn1Container) parseResult; tmpParseResult = new Asn1DerivedItem(tag(), container); } else { throw new IOException("Unexpected tag " + parseResult.tag() + ", expecting " + expectedTaggingTagFlags); } } if (taggingOption.isImplicit()) { decodeBody(tmpParseResult); } else { Asn1Container container = (Asn1Container) parseResult; tmpParseResult = container.getChildren().get(0); decode(tmpParseResult); } } }
@Override public void decode(ByteBuffer content) throws IOException { Asn1ParseResult parseResult = Asn1Parser.parse(content); decode(parseResult); }
public static void bind(Asn1ParseResult parseResult, Asn1Type value) throws IOException { value.useDefinitiveLength(parseResult.isDefinitiveLength()); ((Asn1Encodeable) value).decode(parseResult); }
public static void bind(Asn1ParseResult parseResult, Asn1Type value) throws IOException { value.useDefinitiveLength(parseResult.isDefinitiveLength()); ((Asn1Encodeable) value).decode(parseResult); }
public static Asn1Type convert(Asn1ParseResult parseResult, boolean isLazy) throws IOException { if (Asn1Simple.isSimple(parseResult.tag())) { return Asn1Converter.convertAsSimple(parseResult); } else if (Asn1Collection.isCollection(parseResult.tag())) { return Asn1Converter.convertAsCollection(parseResult, isLazy); } else if (!parseResult.tag().isPrimitive()) { Asn1Encodeable tmpValue = new Asn1Constructed(parseResult.tag()); tmpValue.decode(parseResult); return tmpValue; } else if (parseResult.isTagSpecific()) { Asn1Specific app = new Asn1Specific(parseResult.tag()); app.decode(parseResult); return app; } else { throw new IOException("Unexpected item: " + parseResult.simpleInfo()); } }
public static Asn1Type convert(Asn1ParseResult parseResult, boolean isLazy) throws IOException { if (Asn1Simple.isSimple(parseResult.tag())) { return Asn1Converter.convertAsSimple(parseResult); } else if (Asn1Collection.isCollection(parseResult.tag())) { return Asn1Converter.convertAsCollection(parseResult, isLazy); } else if (!parseResult.tag().isPrimitive()) { Asn1Encodeable tmpValue = new Asn1Constructed(parseResult.tag()); tmpValue.decode(parseResult); return tmpValue; } else if (parseResult.isTagSpecific()) { Asn1Specific app = new Asn1Specific(parseResult.tag()); app.decode(parseResult); return app; } else { throw new IOException("Unexpected item: " + parseResult.simpleInfo()); } }