/** * Returns the value of the Attr's data. Different attributes have a different meaning for the * underlying raw data, thus the getValue() method returns different types of objects. The object * returned is determined by the attribute type, except for several special cases. The returned * Object should be cast into the appropriate class. * * @return the value of the Attr's data * @throws IOException if an I/O error occurs */ public Object getValue() throws IOException { if (rawData != null) read(rawData); return data; }