BitMaskTextProp.javaAPI DocApache Poi 3.0.13366Sun Mar 11 12:59:30 GMT 2007org.apache.poi.hslf.model.textproperties


public class BitMaskTextProp extends TextProp implements Cloneable
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

Fields Summary
private String[]
private int[]
private boolean[]
Constructors Summary
public BitMaskTextProp(int sizeOfDataBlock, int maskInHeader, String overallName, String[] subPropNames)

		this.subPropNames = subPropNames;
		this.propName = overallName;
		subPropMasks = new int[subPropNames.length];
		subPropMatches = new boolean[subPropNames.length];
		// Initialise the masks list
		for(int i=0; i<subPropMasks.length; i++) {
			subPropMasks[i] = (1 << i);
Methods Summary
public java.lang.Objectclone()

		BitMaskTextProp newObj = (BitMaskTextProp)super.clone();
		// Don't carry over matches, but keep everything 
		//  else as it was
		newObj.subPropMatches = new boolean[subPropMatches.length];
		return newObj;
public boolean[]getSubPropMatches()
Fetch the list of if the sub properties match or not

 return subPropMatches; 
public java.lang.String[]getSubPropNames()
Fetch the list of the names of the sub properties

 return subPropNames; 
public booleangetSubValue(int idx)
Fetch the true/false status of the subproperty with the given index

		return subPropMatches[idx];
public intgetWriteMask()
As we're purely mask based, just set flags for stuff that is set

		return dataValue;
public voidsetSubValue(boolean value, int idx)
Set the true/false status of the subproperty with the given index

		if(subPropMatches[idx] == value) { return; }
		if(value) {
			dataValue += subPropMasks[idx];
		} else {
			dataValue -= subPropMasks[idx];
		subPropMatches[idx] = value;
public voidsetValue(int val)
Set the value of the text property, and recompute the sub properties based on it

		dataValue = val;

		// Figure out the values of the sub properties
		for(int i=0; i< subPropMatches.length; i++) {
			subPropMatches[i] = false;
			if((dataValue & subPropMasks[i]) != 0) {
				subPropMatches[i] = true;