protected BufferedReader dataIn=null;
protected String errormessage="UNITIALISED SOURCE";
protected boolean error=true;
+ protected String warningMessage=null;
/**
* size of readahead buffer used for when initial stream position is marked.
*/
else if (type.equals(AppletFormatAdapter.URL))
{
try {
+ try {
checkURLSource(fileStr);
if (suffixSeparator=='#')
extractSuffix(fileStr); // URL lref is stored for later reference.
}
}
}
+ }
+ catch (Exception e)
+ {
+ errormessage = "CANNOT ACCESS DATA AT URL '"+fileStr+"' ("+e.getMessage()+")";
+ error=true;
+ }
}
else if (type.equals(AppletFormatAdapter.PASTE))
{
error = true;
}
}
+ if (dataIn==null)
+ {
+ // pass up the reason why we have no source to read from
+ throw new IOException("Failed to read data from source:\n"+errormessage);
+ }
error=false;
dataIn.mark(READAHEAD_LIMIT);
}
throw new IOException("Implementation Error: Reset called for invalid source.");
}
}
+ /**
+ *
+ * @return true if there is a warning for the user
+ */
+ public boolean hasWarningMessage() {
+ return (warningMessage!=null && warningMessage.length()>0);
+ }
+ /**
+ *
+ * @return empty string or warning message about file that was just parsed.
+ */
+ public String getWarningMessage() {
+ return warningMessage;
+ }
}