package org.apache.poi.hpsf;
-import org.apache.poi.util.LittleEndian;
-
import org.apache.poi.util.Internal;
+import org.apache.poi.util.LittleEndian;
+import org.apache.poi.util.POILogFactory;
+import org.apache.poi.util.POILogger;
@Internal
class TypedPropertyValue
{
+ private static final POILogger logger = POILogFactory
+ .getLogger( TypedPropertyValue.class );
+
private int _type;
private Object _value;
_value = value;
}
+ Object getValue()
+ {
+ return _value;
+ }
+
int read( byte[] data, int startOffset )
{
int offset = startOffset;
offset += LittleEndian.SHORT_SIZE;
short padding = LittleEndian.getShort( data, offset );
- if ( padding != 0 )
- throw new IllegalPropertySetDataException(
- "Property padding at offset " + offset
- + " MUST be 0, but it's value is " + padding );
offset += LittleEndian.SHORT_SIZE;
+ if ( padding != 0 )
+ {
+ logger.log( POILogger.WARN, "TypedPropertyValue padding at offset "
+ + offset + " MUST be 0, but it's value is " + padding );
+ }
+
offset += readValuePadded( data, offset );
return offset - startOffset;