private void processCharacters() throws SAXException {
if (insideFilter) {
String message = this.characters.toString();
try {
if (insideDistance) {
LOGGER.finest("calling set distance on " + message + ", " + units);
filterFactory.setDistance(message, units);
} else {
LOGGER.finest("sending to expression factory: " + message);
expressionFactory.message(message, this.convertLiteralToNumber);
}
} catch (IllegalFilterException ife) {
throw new SAXException(ife);
}
} else if (characters.length() > 0) {
LOGGER.finer("delegating characters to parent: " + characters.toString());
int len = this.characters.length();
char[] chars = new char[this.characters.length()];
this.characters.getChars(0, len, chars, 0);
parent.characters(chars, 0, len);
}
}