1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 package org.coach.idltree; 26 27 import org.w3c.dom.Node ; 28 import org.omg.CORBA.TypeCode ; 29 import org.omg.CORBA.Any ; 30 import org.omg.CORBA.TCKind ; 31 32 39 public class IdlOctet extends IdlNode implements IdlWritable { 40 protected IdlOctet() { 41 setUserObject(this); 42 type = "octet"; 43 value = "0"; 44 tc = orb.get_primitive_tc(TCKind.tk_octet); 45 } 46 47 protected IdlOctet(Any any) { 48 this(); 49 setNode(any); 50 } 51 52 protected IdlOctet(TypeCode tc) { 53 this(); 54 setNode(tc); 55 } 56 57 protected void setNode(Any any) { 58 try { 59 setNode(any.type()); 60 value = "" + any.create_input_stream().read_octet(); 61 } catch (Exception e) { 62 e.printStackTrace(); 63 } 64 } 65 66 71 public Any toAny() { 72 try { 73 Any any = orb.create_any(); 74 org.omg.CORBA.portable.OutputStream out = any.create_output_stream(); 75 any.type(tc); 76 out.write_octet(Byte.parseByte(value)); 77 any.read_value(out.create_input_stream(), tc); 78 return any; 79 } catch (Exception e) { 80 e.printStackTrace(); 81 } 82 return null; 83 } 84 85 90 public void setValue(String v) { 91 try { 92 Byte.parseByte(v); 93 value = v; 94 } catch (NumberFormatException e) { 95 throw new RuntimeException (e.toString()); 96 } 97 } 98 99 104 public void write(org.omg.CORBA.portable.OutputStream os) { 105 try { 106 os.write_octet(Byte.parseByte(value)); 107 } catch (Exception e) { 108 e.printStackTrace(); 109 } 110 } 111 112 117 public void read(org.omg.CORBA.portable.InputStream is) { 118 value = "" + is.read_octet(); 119 } 120 121 123 130 public IdlOctet(String xml) { 131 this(XmlNode.getNode(xml)); 132 } 133 134 139 IdlOctet(Node n) { 140 this(); 141 if (n == null || !n.getNodeName().toUpperCase().equals("OCTET")) { 142 throw new RuntimeException ("octet expected"); 143 } 144 setValue(XmlNode.getText(n)); 145 } 146 147 152 public void write(IdlWriter w) { 153 w.write_octet(value); 154 } 155 } | Popular Tags |