/* See LICENSE for licensing and NOTICE for copyright. */ package org.ldaptive.asn1; import java.math.BigInteger; /** * Converts context types to their DER encoded format. * * @author Middleware Services */ public class ContextType extends AbstractDERType implements DEREncoder { /** Data to encode. */ private final byte[] derItem; /** * Creates a new context type. * * @param index of this item in the context * @param item to encode */ public ContextType(final int index, final byte[] item) { super(new ContextDERTag(index, false)); derItem = item; } /** * Creates a new context type. * * @param index of this item in the context * @param item to encode */ public ContextType(final int index, final String item) { this(index, OctetStringType.toBytes(item)); } /** * Creates a new context type. * * @param index of this item in the context * @param item to encode */ public ContextType(final int index, final boolean item) { this(index, BooleanType.toBytes(item)); } /** * Creates a new context type. * * @param index of this item in the context * @param item to encode */ public ContextType(final int index, final BigInteger item) { this(index, IntegerType.toBytes(item)); } @Override public byte[] encode() { return encode(derItem); } }