ParameterAsn1Example.java
( ASN.1 Examples | Home )// ---------------------------------------------------------------- // -- Copyright (c) 2003-2011, Monfox, LLC. All Rights Reserved -- // ---------------------------------------------------------------- import monfox.log.*; import monfox.stack.osi.asn1.*; import monfox.stack.osi.api.ValueException; /** * <p><br> * See the usage below: * <pre> * USAGE * * java ParameterAsn1Example * * </pre> * */ public class ParameterAsn1Example { public static void main(String args[]) { try { // -- // -- initialize the logger // -- Logger.setProvider(new SimpleLogger.Provider("ParameterAsn1Example.log")); // -- // -- initialize the ASN.1 API and metadata // -- Asn1Api api = new Asn1Api(); api.getConfig().isLaxMode(true); // -- // -- load the metadata // -- try { System.out.println("-- [ loading metadata ] --"); api.loadMetadata("ParameterAsn1Example.ser"); } catch(Exception e) { System.err.println("\n\n initialization failed: \n" + e +"\n\n"); System.exit(1); } // -- create a new value from a defined value AbstractData append_counter_list = api.newData("counterList1"); append_counter_list.refAppend().set("name","ctr1").set("value","100");; append_counter_list.refAppend().set("name","ctr2").set("value","200");; append_counter_list.refAppend().set("name","ctr3").set("value","300");; System.out.println("\n\nAPPENDED COUNTER LIST: " + append_counter_list); // -- simply access a defined value from metadata (don't copy) AbstractData counter_list_1 = api.getValue("counterList1").getAbstractData(); System.out.println("\n\ncounterList1: " + counter_list_1); // -- build a new value with the API -- AbstractData new_counter_list = api.newData("CounterList"); new_counter_list.refAppend().set("name","ctr1").set("value","100");; new_counter_list.refAppend().set("name","ctr2").set("value","200");; new_counter_list.refAppend().set("name","ctr3").set("value","300");; System.out.println("\n\nNEW COUNTER LIST: " + new_counter_list); ByteBuffer buf = api.getAsn1Coder().encode(new_counter_list); System.out.println("\n\nBER ENCODED COUNTER LIST: " + buf); AbstractData decoded_value = api.getAsn1Coder().decode("CounterList", buf); System.out.println("\n\nDECODED COUNTER LIST: " + decoded_value); System.out.println("\n\n"); } catch(Exception e) { e.printStackTrace(); } } }