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 )