.
*/
/** ***********************************************************
*
*
* PURPOSE:
* This exception is thrown when a cell index for an MDD exceeds
* the objects's bounds.
* @version $Revision: 1.6 $
*
*
*
* COMMENTS:
*
*
*********************************************************** */
public class RasIndexOutOfBoundsException extends RasException
{
static final String rcsid = "@(#)Package rasj, class RasIndexOutOfBoundsException: $Header: /home/rasdev/CVS-repository/rasdaman/java/rasj/RasIndexOutOfBoundsException.java,v 1.6 2003/12/19 16:22:27 rasdev Exp $";
// lower bound
private long low;
// upper bound
private long high;
// index which caused the error
private long index;
/**
* stamdard constructor getting lower bound, upper bound and the index.
* @param dlow lower bound of the object
* @param dhigh upper bound of the object
* @param dindex the index that caused this exception
**/
protected RasIndexOutOfBoundsException(long dlow, long dhigh, long dindex )
{
super(RasGlobalDefs.INDEX_OUT_OF_BOUNDS);
low = dlow;
high = dhigh;
index = dindex;
}
/**
* Returns the error message.
* @return the error message.
**/
public String getMessage()
{
int i;
if(super.getMessage() == null)
{
String msg = RasErrorTexts.getErrorMessage(errNo);
StringBuffer buf = new StringBuffer(msg);
i = msg.indexOf( RasGlobalDefs.KEYWORD_LOW );
if(i != -1)
buf.replace(i, i+RasGlobalDefs.KEYWORD_LOW.length(), String.valueOf(low));
msg = buf.toString();
i = msg.indexOf( RasGlobalDefs.KEYWORD_HIGH );
if(i != -1)
buf.replace(i, i+RasGlobalDefs.KEYWORD_HIGH.length(), String.valueOf(high));
msg = buf.toString();
i = msg.indexOf( RasGlobalDefs.KEYWORD_INDEX );
if(i != -1)
buf.replace(i, i+RasGlobalDefs.KEYWORD_INDEX.length(), String.valueOf(index));
msg = buf.toString();
return msg;
}
else
return super.getMessage();
}
/**
* Returns the lower bound of the accessed object.
* @return the lower bound of the object
**/
public long getLow()
{
return low;
}
/**
* Returns the higher bound of the accessed object.
* @return the higher bound of the object
**/
public long getHigh()
{
return high;
}
/**
* Returns the index responsible for throwing this exception.
* @return the index that caused the exception
**/
public long getIndex()
{
return index;
}
}