@Override
public void setUnits(String units) {
if ((units != null) && (units.trim().length() == 0)) {
units = null;
}
String oldUnits = unitsID;
if (units == null) {
unitsID = null;
} else {
units = units.trim();
boolean illegalArgument = false;
if (!Unit.isValidUnit(getModel(), units)) {
illegalArgument = true;
}
if (illegalArgument) {
if (!isReadingInProgress()) {
throw new IllegalArgumentException(MessageFormat.format(
JSBML.ILLEGAL_UNIT_EXCEPTION_MSG, units));
} else {
logger.info(MessageFormat.format(JSBML.ILLEGAL_UNIT_EXCEPTION_MSG, units));
}
}
unitsID = units;
}
if (oldUnits != unitsID) {
firePropertyChange(TreeNodeChangeEvent.units, oldUnits, unitsID);
}
}