any.java
来自「OTP是开放电信平台的简称」· Java 代码 · 共 1,022 行 · 第 1/2 页
JAVA
1,022 行
len = _is.read_tuple_head(); os.write_tuple_head(len); for (int i=0; i<len; i++) read_user_defined(_is,_tc.content_type()); break; case TCKind._tk_enum: os.write_atom(_is.read_atom()); break; case TCKind._tk_void : os.write_atom(_is.read_atom()); break; case TCKind._tk_any : AnyHelper.marshal(os,AnyHelper.unmarshal(_is)); break; /* * Not supported types */ default : throw new java.lang.Exception(""); } } /** Writes the Any's value to the ouput stream **/ public void write_value(com.ericsson.otp.erlang.OtpOutputStream _os) throws java.lang.Exception { switch(tcV.kind().value()) { case TCKind._tk_short : _os.write_short(shortV); break; case TCKind._tk_ushort : _os.write_ushort(shortV); break; case TCKind._tk_long : _os.write_int(intV); break; case TCKind._tk_ulong : _os.write_uint(intV); break; case TCKind._tk_longlong : _os.write_long(longV); break; case TCKind._tk_ulonglong : _os.write_ulong(longV); break; case TCKind._tk_float : _os.write_float(floatV); break; case TCKind._tk_double : _os.write_double(doubleV); break; case TCKind._tk_boolean : _os.write_boolean(booleanV); break; case TCKind._tk_char : case TCKind._tk_wchar : _os.write_char(charV); break; case TCKind._tk_octet : _os.write_byte(byteV); break; case TCKind._tk_string : case TCKind._tk_wstring : _os.write_string(stringV); break; case TCKind._tk_atom : _os.write_atom(stringV); break; case TCKind._tk_void : _os.write_atom("ok"); break; /* * Not supported types */ case TCKind._tk_any : case TCKind._tk_null : case TCKind._tk_TypeCode : case TCKind._tk_Principal : case TCKind._tk_objref : case TCKind._tk_alias : case TCKind._tk_except : case TCKind._tk_longdouble : case TCKind._tk_fixed : throw new java.lang.Exception("BAD KIND"); default: _os.write(os.toByteArray()); } } /* * Insert and extract each primitive type */ /* short */ /** Short value extractor method @return short, the value of Any **/ public short extract_short() throws java.lang.Exception { if (tcV.kind() == TCKind.tk_short) return shortV; throw new java.lang.Exception(""); } /** Short value insertion method **/ public void insert_short(short s) { shortV = s; tcV = new TypeCode(TCKind.tk_short); }; /* long */ /** Long value extractor method @return int, the value of Any **/ public int extract_long() throws java.lang.Exception { if (tcV.kind() == TCKind.tk_long) return intV; throw new java.lang.Exception(""); } /** Long value insertion method **/ public void insert_long(int i){ intV = i; tcV = new TypeCode(TCKind.tk_long); } /* long long */ /** Long Long value extractor method @return long, the value of Any **/ public long extract_longlong() throws java.lang.Exception { if (tcV.kind() == TCKind.tk_longlong) return longV; throw new java.lang.Exception(""); } /** Long Long value insertion method **/ public void insert_longlong(long l){ longV = l; tcV = new TypeCode(TCKind.tk_longlong); } /* ushort */ /** Unsigned Short value extractor method @return short, the value of Any **/ public short extract_ushort() throws java.lang.Exception { if (tcV.kind() == TCKind.tk_ushort) return shortV; throw new java.lang.Exception(""); } /** Unsigned Short value insertion method **/ public void insert_ushort(short s){ shortV = s; tcV = new TypeCode(TCKind.tk_ushort); } /* ulong */ /** Unsigned Long value extractor method @return int, the value of Any **/ public int extract_ulong() throws java.lang.Exception{ if (tcV.kind() == TCKind.tk_ulong) return intV; throw new java.lang.Exception(""); } /** Unsigned Long value insertion method **/ public void insert_ulong(int i){ intV = i; tcV = new TypeCode(TCKind.tk_ulong); } /* unsigned long long */ /** Unsigned Long Long value extractor method @return long, the value of Any **/ public long extract_ulonglong() throws java.lang.Exception { if (tcV.kind() == TCKind.tk_ulonglong) return longV; throw new java.lang.Exception(""); } /** Unsigned Long Long value insertion method **/ public void insert_ulonglong(long l){ longV = l; tcV = new TypeCode(TCKind.tk_ulonglong); } /* float */ /** Float value extractor method @return float, the value of Any **/ public float extract_float() throws java.lang.Exception{ if (tcV.kind() == TCKind.tk_float) return floatV; throw new java.lang.Exception(""); } /** Float value insertion method **/ public void insert_float(float f){ floatV = f; tcV = new TypeCode(TCKind.tk_float); } /* double */ /** Double value extractor method @return double, the value of Any **/ public double extract_double() throws java.lang.Exception{ if (tcV.kind() == TCKind.tk_double) return doubleV; throw new java.lang.Exception(""); } /** Double value insertion method **/ public void insert_double(double d){ doubleV = d; tcV = new TypeCode(TCKind.tk_double); } /* boolean */ /** Boolean value extractor method @return boolean, the value of Any **/ public boolean extract_boolean() throws java.lang.Exception{ if (tcV.kind() == TCKind.tk_boolean) return booleanV; throw new java.lang.Exception(""); } /** Boolean value insertion method **/ public void insert_boolean(boolean b){ booleanV = b; tcV = new TypeCode(TCKind.tk_boolean); } /* char */ /** Char value extractor method @return char, the value of Any **/ public char extract_char() throws java.lang.Exception{ if (tcV.kind() == TCKind.tk_char) return charV; throw new java.lang.Exception(""); } /** Char value insertion method **/ public void insert_char(char c) { charV = c; tcV = new TypeCode(TCKind.tk_char); } /* wchar */ /** Wchar value extractor method @return char, the value of Any **/ public char extract_wchar() throws java.lang.Exception{ if (tcV.kind() == TCKind.tk_wchar) return charV; throw new java.lang.Exception(""); } /** Wchar value insertion method **/ public void insert_wchar(char c) { charV = c; tcV = new TypeCode(TCKind.tk_wchar); } /* octet */ /** Octet value extractor method @return byte, the value of Any **/ public byte extract_octet() throws java.lang.Exception{ if (tcV.kind() == TCKind.tk_octet) return byteV; throw new java.lang.Exception(""); } /** Octet value insertion method **/ public void insert_octet(byte b){ byteV = b; tcV = new TypeCode(TCKind.tk_octet); } /* string */ /** String value extractor method @return String, the value of Any **/ public java.lang.String extract_string() throws java.lang.Exception{ if (tcV.kind() == TCKind.tk_string) return stringV; throw new java.lang.Exception(""); } /** String value insertion method **/ public void insert_string(java.lang.String s) { stringV = s; tcV = new TypeCode(TCKind.tk_string); } /* wstring */ /** Wstring value extractor method @return String, the value of Any **/ public java.lang.String extract_wstring() throws java.lang.Exception{ if (tcV.kind() == TCKind.tk_wstring) return stringV; throw new java.lang.Exception(""); } /** Wstring value insertion method **/ public void insert_wstring(java.lang.String s) { stringV = s; tcV = new TypeCode(TCKind.tk_wstring); } /* atom */ /** Atom value extractor method @return atom, the value of Any **/ public java.lang.String extract_atom() throws java.lang.Exception{ if (tcV.kind() == TCKind.tk_atom) return stringV; throw new java.lang.Exception(""); } /** Atom value insertion method **/ public void insert_atom(java.lang.String s) { stringV = s; tcV = new TypeCode(TCKind.tk_atom); } /** Object Stream insertion method **/ public void insert_Streamable(com.ericsson.otp.erlang.OtpOutputStream _os) { os = _os; } /** Object Stream extractor method @return OtpInputStream, the stream value of Any **/ public com.ericsson.otp.erlang.OtpInputStream extract_Streamable() { if (is == null) { if (os == null) return null; else { is = new com.ericsson.otp.erlang.OtpInputStream(os.toByteArray()); } } is.reset(); return is; }}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?