improve DropCapSpecifier, add field getters/setters, toString(), isEmpty(), hashCode(), equals()
git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1144649 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
parent
a5e5b26013
commit
de22f56bec
@ -24,29 +24,89 @@ import org.apache.poi.util.LittleEndian;
|
|||||||
/**
|
/**
|
||||||
* This data structure is used by a paragraph to determine how it should drop
|
* This data structure is used by a paragraph to determine how it should drop
|
||||||
* its first letter. I think its the visual effect that will show a giant first
|
* its first letter. I think its the visual effect that will show a giant first
|
||||||
* letter to a paragraph. I've seen this used in the first paragraph of a
|
* letter to a paragraph. I've seen this used in the first paragraph of a book
|
||||||
* book
|
*
|
||||||
*
|
|
||||||
* @author Ryan Ackley
|
* @author Ryan Ackley
|
||||||
*/
|
*/
|
||||||
public final class DropCapSpecifier
|
public final class DropCapSpecifier
|
||||||
{
|
{
|
||||||
private short _info;
|
private short _fdct;
|
||||||
private static BitField _type = BitFieldFactory.getInstance(0x07);
|
private static BitField _lines = BitFieldFactory.getInstance( 0xf8 );
|
||||||
private static BitField _lines = BitFieldFactory.getInstance(0xf8);
|
private static BitField _type = BitFieldFactory.getInstance( 0x07 );
|
||||||
|
|
||||||
public DropCapSpecifier(byte[] buf, int offset)
|
public DropCapSpecifier()
|
||||||
{
|
{
|
||||||
this(LittleEndian.getShort(buf, offset));
|
this._fdct = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
public DropCapSpecifier(short info)
|
public DropCapSpecifier( byte[] buf, int offset )
|
||||||
{
|
{
|
||||||
_info = info;
|
this( LittleEndian.getShort( buf, offset ) );
|
||||||
}
|
}
|
||||||
|
|
||||||
public short toShort()
|
public DropCapSpecifier( short fdct )
|
||||||
{
|
{
|
||||||
return _info;
|
this._fdct = fdct;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean equals( Object obj )
|
||||||
|
{
|
||||||
|
if ( this == obj )
|
||||||
|
return true;
|
||||||
|
if ( obj == null )
|
||||||
|
return false;
|
||||||
|
if ( getClass() != obj.getClass() )
|
||||||
|
return false;
|
||||||
|
DropCapSpecifier other = (DropCapSpecifier) obj;
|
||||||
|
if ( _fdct != other._fdct )
|
||||||
|
return false;
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
public byte getCountOfLinesToDrop()
|
||||||
|
{
|
||||||
|
return (byte) _lines.getValue( _fdct );
|
||||||
|
}
|
||||||
|
|
||||||
|
public byte getDropCapType()
|
||||||
|
{
|
||||||
|
return (byte) _type.getValue( _fdct );
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public int hashCode()
|
||||||
|
{
|
||||||
|
return _fdct;
|
||||||
|
}
|
||||||
|
|
||||||
|
public boolean isEmpty()
|
||||||
|
{
|
||||||
|
return _fdct == 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setCountOfLinesToDrop( byte value )
|
||||||
|
{
|
||||||
|
_fdct = (short) _lines.setValue( _fdct, value );
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setDropCapType( byte value )
|
||||||
|
{
|
||||||
|
_fdct = (short) _type.setValue( _fdct, value );
|
||||||
|
}
|
||||||
|
|
||||||
|
public short toShort()
|
||||||
|
{
|
||||||
|
return _fdct;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String toString()
|
||||||
|
{
|
||||||
|
if ( isEmpty() )
|
||||||
|
return "[DCS] EMPTY";
|
||||||
|
|
||||||
|
return "[DCS] (type: " + getDropCapType() + "; count: "
|
||||||
|
+ getCountOfLinesToDrop() + ")";
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user