1 21 package org.jacorb.orb.portableInterceptor; 22 23 import org.omg.IOP.CodecPackage.*; 24 import org.omg.IOP.Codec ; 25 import org.omg.CORBA.*; 26 27 import org.jacorb.orb.CDRInputStream; 28 import org.jacorb.orb.CDROutputStream; 29 37 38 public class Codec_CDR_1_0_Impl 39 extends org.omg.CORBA.LocalObject 40 implements Codec 41 { 42 43 private ORB orb = null; 44 45 public Codec_CDR_1_0_Impl(ORB orb) 46 { 47 this.orb = orb; 48 } 49 50 52 public Any decode(byte[] data) 53 throws FormatMismatch 54 { 55 CDRInputStream in = new CDRInputStream(orb, data); 56 57 in.openEncapsulatedArray(); 58 Any result = in.read_any(); 59 60 63 return result; 64 } 65 66 67 public Any decode_value(byte[] data, TypeCode tc) 68 throws FormatMismatch, TypeMismatch 69 { 70 CDRInputStream in = new CDRInputStream(orb, data); 71 72 in.openEncapsulatedArray(); 73 Any result = orb.create_any(); 74 result.read_value(in, tc); 75 76 79 return result; 80 } 81 82 public byte[] encode(Any data) 83 throws InvalidTypeForEncoding 84 { 85 CDROutputStream out = new CDROutputStream(orb); 86 87 out.beginEncapsulatedArray(); 88 out.write_any(data); 89 90 101 102 106 byte[] result = out.getBufferCopy(); 107 out.close(); 108 109 return result; 110 } 111 112 public byte[] encode_value(Any data) 113 throws InvalidTypeForEncoding 114 { 115 116 CDROutputStream out = new CDROutputStream(orb); 117 118 out.beginEncapsulatedArray(); 119 data.write_value(out); 120 121 133 134 138 byte[] result = out.getBufferCopy(); 139 out.close(); 140 141 return result; 142 } 143 144 } | Popular Tags |