2011-10-21 19:45:01 -04:00
|
|
|
package org.apache.poi.hpsf;
|
|
|
|
|
|
|
|
import org.apache.poi.util.Internal;
|
2011-10-21 22:01:14 -04:00
|
|
|
import org.apache.poi.util.LittleEndian;
|
|
|
|
import org.apache.poi.util.POILogFactory;
|
|
|
|
import org.apache.poi.util.POILogger;
|
2011-10-21 19:45:01 -04:00
|
|
|
|
|
|
|
@Internal
|
|
|
|
class VariantBool
|
|
|
|
{
|
2011-10-21 22:01:14 -04:00
|
|
|
private final static POILogger logger = POILogFactory.getLogger( VariantBool.class );
|
|
|
|
|
2011-10-21 19:45:01 -04:00
|
|
|
static final int SIZE = 2;
|
|
|
|
|
|
|
|
private boolean _value;
|
|
|
|
|
|
|
|
VariantBool( byte[] data, int offset )
|
|
|
|
{
|
|
|
|
short value = LittleEndian.getShort( data, offset );
|
|
|
|
if ( value == 0x0000 )
|
|
|
|
{
|
|
|
|
_value = false;
|
|
|
|
return;
|
|
|
|
}
|
|
|
|
|
|
|
|
if ( value == 0xffff )
|
|
|
|
{
|
|
|
|
_value = true;
|
|
|
|
return;
|
|
|
|
}
|
|
|
|
|
2011-10-21 22:01:14 -04:00
|
|
|
logger.log( POILogger.WARN, "VARIANT_BOOL value '",
|
|
|
|
Short.valueOf( value ), "' is incorrect" );
|
|
|
|
_value = value != 0;
|
|
|
|
}
|
|
|
|
|
|
|
|
boolean getValue()
|
|
|
|
{
|
|
|
|
return _value;
|
|
|
|
}
|
|
|
|
|
|
|
|
void setValue( boolean value )
|
|
|
|
{
|
|
|
|
this._value = value;
|
2011-10-21 19:45:01 -04:00
|
|
|
}
|
|
|
|
}
|