1 20 21 package org.jacorb.idl; 22 23 27 28 class CharType 29 extends BaseType 30 implements SwitchTypeSpec 31 { 32 private boolean wide = false; 33 34 public CharType( int num ) 35 { 36 super( num ); 37 } 38 39 public Object clone() 40 { 41 CharType s = new CharType( new_num() ); 42 if( wide ) 43 s.setWide(); 44 return s; 45 } 46 47 public boolean isWide() 48 { 49 return wide; 50 } 51 52 public void setWide() 53 { 54 wide = true; 55 } 56 57 public String typeName() 58 { 59 return "char"; 60 } 61 62 public String getIDLTypeName() 63 { 64 return ( wide ? "wchar" : "char" ); 65 } 66 67 public TypeSpec typeSpec() 68 { 69 return this; 70 } 71 72 public String toString() 73 { 74 return typeName(); 75 } 76 77 public boolean basic() 78 { 79 return true; 80 } 81 82 public int getTCKind() 83 { 84 if( wide ) 85 return 26; 86 else 87 return 9; 88 } 89 90 public String holderName() 91 { 92 return "org.omg.CORBA.CharHolder"; 93 } 94 95 public String printReadExpression( String strname ) 96 { 97 if( wide ) 98 return strname + ".read_wchar()"; 99 else 100 return strname + ".read_char()"; 101 } 102 103 public String printWriteStatement( String var_name, String strname ) 104 { 105 if( wide ) 106 return strname + ".write_wchar(" + var_name + ");"; 107 else 108 return strname + ".write_char(" + var_name + ");"; 109 } 110 111 public String printInsertExpression() 112 { 113 if( wide ) 114 return "insert_wchar"; 115 else 116 return "insert_char"; 117 118 } 119 120 public String printExtractExpression() 121 { 122 if( wide ) 123 return "extract_wchar"; 124 else 125 return "extract_char"; 126 } 127 128 public boolean isSwitchable() 129 { 130 132 return !wide; 133 } 134 } 135 136 137 138 | Popular Tags |