rt_gccstream/libjava/classpath/tools/gnu/classpath/tools/MalformedInputEvent.java

94 lines
2.7 KiB
Java

/* gnu.classpath.tools.MalformedInputEvent
Copyright (C) 2004 Free Software Foundation, Inc.
This file is part of GNU Classpath.
GNU Classpath is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2, or (at your option)
any later version.
GNU Classpath is distributed in the hope that it will be useful, but
WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
General Public License for more details.
You should have received a copy of the GNU General Public License
along with GNU Classpath; see the file COPYING. If not, write to the
Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
02111-1307 USA. */
package gnu.classpath.tools;
import java.util.EventObject;
/**
* Encapsulates information about malformed input encountered by a
* {@link NotifyingInputStreamReader}.
*
* You can use {@link getSource()} to fetch a reference to the
* <code>NotifyingInputStreamReader</code> which encountered the
* malformed input.
*
* @author Julian Scheid
*/
public class MalformedInputEvent
extends EventObject
{
private int lineNumber;
private int columnNumber;
private int length;
MalformedInputEvent(NotifyingInputStreamReader source,
int lineNumber,
int columnNumber,
int length)
{
super(source);
this.columnNumber = columnNumber;
this.lineNumber = lineNumber;
this.length = length;
}
/**
* Return the 1-based line number where the malformed input begins
* in the stream read by the
* <code>NotifyingInputStreamReader</code>.
*/
public int getLineNumber()
{
return lineNumber;
}
/**
* Return the 0-based column number where the malformed input
* begins in the stream read by the
* <code>NotifyingInputStreamReader</code>.
*/
public int getColumnNumber()
{
return columnNumber;
}
/**
* Return the length (in bytes) of the malformed input encountered
* by the <code>NotifyingInputStreamReader</code>. Note that a
* consecutive run of malformed input isn't necessarily reported
* as a whole; depending on the <code>Charset</code> and
* implementation details of <code>CharsetDecoder</code>, the run
* could be reported in chunks down to individual bytes.
*/
public int getLength()
{
return length;
}
public String toString()
{
return "MalformedInputEvent{line=" + lineNumber
+ ",column=" + columnNumber
+ ",length=" + length
+ "}";
}
}