CORBA-JAVA
view release on metacpan or search on metacpan
javaxml/PYXInputStreamImpl.java view on Meta::CPAN
public void close () throws IOException
{
br.close ();
super.close ();
}
public void read_open_tag (java.lang.String tag)
{
if (curr == null)
{
error ("EOF");
throw new org.omg.CORBA.MARSHAL ("EOF");
}
if (curr.charAt (0) != '(')
{
throw new org.omg.CORBA.MARSHAL ("Open Tag expected");
}
while (!curr.substring (1).equals (tag)) // Extensibility
{
_eat_balanced_tag ();
if (curr == null)
{
error ("EOF");
throw new org.omg.CORBA.MARSHAL ("EOF");
}
if (curr.charAt (0) != '(')
{
throw new org.omg.CORBA.MARSHAL ("Open Tag expected");
}
}
curr = _get_line();
while (curr != null && curr.charAt (0) == 'A') // Attributs : tolerance
{
curr = _get_line();
}
}
public void read_close_tag (java.lang.String tag)
{
if (curr == null)
{
error ("EOF");
throw new org.omg.CORBA.MARSHAL ("EOF");
}
while (curr.charAt (0) == '(') // Extensibility
{
_eat_balanced_tag ();
}
if (curr.charAt (0) != ')')
{
throw new org.omg.CORBA.MARSHAL ("Close Tag expected");
}
if (!curr.substring (1).equals (tag))
{
error ("Bad Close Tag");
throw new org.omg.CORBA.MARSHAL ("Bad Close Tag");
}
curr = _get_line();
}
public java.lang.String read_pcdata ()
{
if (curr == null)
{
error ("EOF");
return "";
}
while (curr.charAt (0) == '(') // Extensibility
{
_eat_balanced_tag ();
}
if (curr.charAt (0) != '-')
{
return "";
}
String str = curr.substring (1);
curr = _get_line();
return str;
}
private void _eat_balanced_tag ()
{
if (curr == null || curr.charAt (0) != '(')
{
return;
}
String tag = curr.substring (1);
curr = _get_line();
while (curr != null)
{
switch (curr.charAt (0))
{
case 'A':
case '-':
curr = _get_line();
break;
case '(':
_eat_balanced_tag ();
break;
case ')':
if (!curr.substring (1).equals (tag))
{
error ("Bad Close Tag");
throw new org.omg.CORBA.MARSHAL ("Bad Close Tag");
}
curr = _get_line();
return;
default:
return;
}
}
}
public boolean read_boolean (java.lang.String tag)
{
read_open_tag (tag);
String str = read_pcdata();
read_close_tag (tag);
if (str.equals ("true"))
{
return true;
}
if (!str.equals ("false"))
{
throw new org.omg.CORBA.MARSHAL ("Bad value for 'boolean'");
}
return false;
}
public char read_char (java.lang.String tag)
{
read_open_tag (tag);
String str = read_pcdata();
read_close_tag (tag);
if (str.length () != 1)
{
throw new org.omg.CORBA.MARSHAL ("Bad length for 'char'");
}
return str.charAt (0);
}
public char read_wchar (java.lang.String tag)
{
read_open_tag (tag);
String str = read_pcdata();
read_close_tag (tag);
if (str.length () != 1)
{
throw new org.omg.CORBA.MARSHAL ("Bad length for 'char'");
}
return str.charAt (0);
}
public byte read_octet (java.lang.String tag)
{
read_open_tag (tag);
String str = read_pcdata();
read_close_tag (tag);
try {
int val = Integer.parseInt (str.trim ());
if (val < Byte.MIN_VALUE && val > Byte.MAX_VALUE)
{
throw new org.omg.CORBA.MARSHAL ("Out of range for 'octet'");
}
return (byte)val;
} catch (NumberFormatException ex) {
throw new org.omg.CORBA.MARSHAL (ex.getMessage ());
}
}
public short read_short (java.lang.String tag)
{
read_open_tag (tag);
String str = read_pcdata();
read_close_tag (tag);
try {
int val = Integer.parseInt (str.trim ());
if (val < Short.MIN_VALUE && val > Short.MAX_VALUE)
{
throw new org.omg.CORBA.MARSHAL ("Out of range for 'short'");
}
return (short)val;
} catch (NumberFormatException ex) {
throw new org.omg.CORBA.MARSHAL (ex.getMessage ());
}
}
public short read_ushort (java.lang.String tag)
{
return read_short (tag);
}
public int read_long (java.lang.String tag)
{
read_open_tag (tag);
String str = read_pcdata();
read_close_tag (tag);
try {
int val = Integer.parseInt (str.trim ());
return val;
} catch (NumberFormatException ex) {
throw new org.omg.CORBA.MARSHAL (ex.getMessage ());
}
}
public int read_ulong (java.lang.String tag)
{
return read_long (tag);
}
public long read_longlong (java.lang.String tag)
{
read_open_tag (tag);
String str = read_pcdata();
read_close_tag (tag);
try {
long val = Long.parseLong (str.trim ());
return val;
} catch (NumberFormatException ex) {
throw new org.omg.CORBA.MARSHAL (ex.getMessage ());
}
}
public long read_ulonglong (java.lang.String tag)
{
return read_longlong (tag);
}
public float read_float (java.lang.String tag)
{
read_open_tag (tag);
String str = read_pcdata();
read_close_tag (tag);
try {
float val = Float.parseFloat (str.trim ());
return val;
} catch (NumberFormatException ex) {
throw new org.omg.CORBA.MARSHAL (ex.getMessage ());
}
}
public double read_double (java.lang.String tag)
{
read_open_tag (tag);
String str = read_pcdata();
read_close_tag (tag);
try {
double val = Double.parseDouble (str.trim ());
return val;
} catch (NumberFormatException ex) {
throw new org.omg.CORBA.MARSHAL (ex.getMessage ());
}
}
public java.lang.String read_string (java.lang.String tag)
{
read_open_tag (tag);
String str = read_pcdata();
read_close_tag (tag);
return str;
}
public java.lang.String read_wstring (java.lang.String tag)
{
read_open_tag (tag);
String str = read_pcdata();
read_close_tag (tag);
return str;
}
public java.math.BigDecimal read_fixed (java.lang.String tag)
{
read_open_tag (tag);
String str = read_pcdata();
read_close_tag (tag);
try {
return new java.math.BigDecimal (str.trim ());
} catch (NumberFormatException ex) {
throw new org.omg.CORBA.MARSHAL (ex.getMessage ());
}
}
public org.omg.CORBA.Object read_Object (java.lang.String tag)
{
throw new org.omg.CORBA.NO_IMPLEMENT ();
}
public org.omg.CORBA.TypeCode read_TypeCode (java.lang.String tag)
{
throw new org.omg.CORBA.NO_IMPLEMENT ();
}
public org.omg.CORBA.Any read_any (java.lang.String tag)
{
throw new org.omg.CORBA.NO_IMPLEMENT ();
}
String _get_line()
{
if (br == null)
{
return null;
}
String esc;
try {
esc = br.readLine ();
if (esc == null)
{ // the end of the stream has been reached
return null;
}
line ++;
} catch (IOException e) {
fatalError ("I/O error");
return null;
}
StringBuffer str = new StringBuffer ();
StringBuffer dec = null;
int state = 1;
for (int i = 0; i < esc.length (); i++)
{
column = i;
char c = esc.charAt (i);
switch (state)
{
case 1:
if (c == '\\')
{
state = 2;
}
else
{
str.append (c);
}
( run in 0.837 second using v1.01-cache-2.11-cpan-39bf76dae61 )