Class BitMaskTextProp

java.lang.Object
org.apache.poi.hslf.model.textproperties.TextProp
org.apache.poi.hslf.model.textproperties.BitMaskTextProp
All Implemented Interfaces:
org.apache.poi.common.Duplicatable, GenericRecord
Direct Known Subclasses:
CharFlagsTextProp, ParagraphFlagsTextProp, WrapFlagsTextProp

public abstract class BitMaskTextProp extends TextProp
Definition of a special kind of property of some text, or its paragraph. For these properties, a flag in the "contains" header field tells you the data property family will exist. The value of the property is itself a mask, encoding several different (but related) properties
  • Method Details

    • getSubPropNames

      public String[] getSubPropNames()
      Fetch the list of the names of the sub properties
    • getSubPropMatches

      public boolean[] getSubPropMatches()
      Fetch the list of if the sub properties match or not
    • getWriteMask

      public int getWriteMask()
      Calculate mask from the subPropMatches.
      Overrides:
      getWriteMask in class TextProp
    • setWriteMask

      public void setWriteMask(int writeMask)
      Sets the write mask, i.e. which defines the text properties to be considered
      Parameters:
      writeMask - the mask, bit values outside the property mask range will be ignored
    • getValue

      public int getValue()
      Return the text property value. Clears all bits of the value, which are marked as unset.
      Overrides:
      getValue in class TextProp
      Returns:
      the text property value.
    • setValue

      public void setValue(int val)
      Set the value of the text property, and recompute the sub properties based on it, i.e. all unset subvalues will be cleared. Use setSubValue(boolean, int) to explicitly set subvalues to false.
      Overrides:
      setValue in class TextProp
    • setValueWithMask

      public void setValueWithMask(int val, int writeMask)
      Convenience method to set a value with mask, without splitting it into the subvalues
    • getSubValue

      public boolean getSubValue(int idx)
      Fetch the true/false status of the subproperty with the given index
    • setSubValue

      public void setSubValue(boolean value, int idx)
      Set the true/false status of the subproperty with the given index
    • cloneAll

      public BitMaskTextProp cloneAll()
      Returns:
      an identical copy of this, i.e. also the subPropMatches are copied
    • getGenericProperties

      public Map<String,Supplier<?>> getGenericProperties()
      Specified by:
      getGenericProperties in interface GenericRecord
      Overrides:
      getGenericProperties in class TextProp
    • copy

      public abstract BitMaskTextProp copy()
      Description copied from class: TextProp
      Clone, eg when you want to actually make use of one of these.
      Specified by:
      copy in interface org.apache.poi.common.Duplicatable
      Overrides:
      copy in class TextProp