CORBA-JAVA
view release on metacpan or search on metacpan
javaxml/XMLInputStreamImpl.java view on Meta::CPAN
setInternalEntity ("quot", """);
try {
pushURL ();
parseMisc ();
} catch (IOException ee) {
throw new org.omg.CORBA.MARSHAL (ee.toString ());
} catch (org.xml.sax.SAXException se) {
throw new org.omg.CORBA.MARSHAL (se.toString ());
}
}
//Methods
public void setErrorHandler(org.xml.sax.ErrorHandler handler)
{
errorHandler = handler;
}
public org.xml.sax.ErrorHandler getErrorHandler()
{
return errorHandler;
}
private void warning (String msg)
{
SAXParseException se = new SAXParseException (msg, null, null, line, column);
try {
errorHandler.warning (se);
} catch (org.xml.sax.SAXException e) {
}
}
private void error (String msg)
{
SAXParseException se = new SAXParseException (msg, null, null, line, column);
try {
errorHandler.error (se);
} catch (org.xml.sax.SAXException e) {
}
}
private void fatalError (String msg)
{
SAXParseException se = new SAXParseException (msg, null, null, line, column);
try {
errorHandler.fatalError (se);
} catch (org.xml.sax.SAXException e) {
}
}
public void close () throws IOException
{
reader.close ();
cleanupVariables ();
super.close ();
}
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 ();
}
/**
* Parse an element, with its tags.
* <pre>
* [39] element ::= EmptyElementTag | STag content ETag
* [40] STag ::= '<' Name (S Attribute)* S? '>'
* [44] EmptyElementTag ::= '<' Name (S Attribute)* S? '/>'
* </pre>
* <p> (The '<' has already been read.)
* <p>NOTE: this method actually chains onto parseContent (), if necessary,
* and parseContent () will take care of calling parseETag ().
*/
public void read_open_tag (java.lang.String tag)
{
String gi;
char c;
emptyElement = false;
try {
while (true) {
require ('<', "open_tag");
// Read the element type name.
gi = readNmtoken (true);
// Read the attributes, if any.
// After this loop, "c" is the closing delimiter.
boolean white = tryWhitespace ();
c = readCh ();
while (c != '/' && c != '>') {
unread (c);
if (!white)
error ("need whitespace between attributes");
parseAttribute (gi);
white = tryWhitespace ();
c = readCh ();
}
// Figure out if this is a start tag
// or an empty element, and dispatch an
// event accordingly.
switch (c) {
case '>':
if (! gi.equals(tag)) {
currentElement = gi;
parseContent ();
}
break;
case '/':
require ('>', "empty element tag");
if (gi.equals(tag))
emptyElement = true;
break;
}
if (gi.equals(tag))
break;
}
} catch (org.xml.sax.SAXException se) {
throw new org.omg.CORBA.MARSHAL (se.toString ());
} catch (IOException e) {
throw new org.omg.CORBA.MARSHAL (e.toString ());
}
return;
}
/**
* Parse an end tag.
* <pre>
* [42] ETag ::= '</' Name S? '>'
* </pre>
*/
public void read_close_tag (java.lang.String tag)
{
if (emptyElement) {
return;
}
try {
require (tag, "element end tag");
skipWhitespace ();
require ('>', "name in end tag");
} catch (org.xml.sax.SAXException se) {
throw new org.omg.CORBA.MARSHAL (se.toString ());
} catch (IOException e) {
throw new org.omg.CORBA.MARSHAL (e.toString ());
}
return;
}
/**
* Parse the content of an element.
* <pre>
* [43] content ::= (element | CharData | Reference
* | CDSect | PI | Comment)*
* [67] Reference ::= EntityRef | CharRef
* </pre>
*/
public java.lang.String read_pcdata ()
{
if (emptyElement) {
return "";
}
StringBuffer data = new StringBuffer();
boolean ETag = false;
char c;
try {
while (!ETag) {
parseCharData();
// Handle delimiters
c = readCh ();
switch (c) {
case '&': // Found "&"
c = readCh ();
if (c == '#') {
parseCharRef ();
} else {
unread (c);
parseEntityRef (true);
}
break;
case '<': // Found "<"
data.append (dataBuffer, 0, dataBufferPos);
dataBufferPos = 0;
c = readCh ();
switch (c) {
case '!': // Found "<!"
c = readCh ();
switch (c) {
case '-': // Found "<!-"
require ('-', "start of comment");
parseComment ();
break;
case '[': // Found "<!["
require ("CDATA[", "CDATA section");
parseCDSect ();
data.append (dataBuffer, 0, dataBufferPos);
dataBufferPos = 0;
break;
default:
error ("expected comment or CDATA section", c, null);
break;
}
break;
case '?': // Found "<?"
parsePI ();
break;
case '/': // Found "</"
ETag = true;
break;
( run in 0.650 second using v1.01-cache-2.11-cpan-d8267643d1d )