package org.openntf.domino.nsfdata.structs.cd; import org.openntf.domino.nsfdata.structs.BSIG; import org.openntf.domino.nsfdata.structs.SIG; /** * Contains collapsible section, button type, style sheet or field limit information for Notes/Domino 6. A CD record (CDBAR, CDBUTTON, * CDBORDERINFO, CDFIELDHINT, etc.) may be followed by a CDDATAFLAGS structure. (editods.h) * * @since Lotus Notes/Domino 6.0 */ public class CDDATAFLAGS extends CDRecord { public static enum ElemType { SECTION((short) 128), FIELDLIMIT((short) 129), BUTTONEX((short) 130), TABLECELL((short) 131); private final short value_; private ElemType(final short value) { value_ = value; } public short getValue() { return value_; } public static ElemType valueOf(final short typeCode) { for (ElemType type : values()) { if (type.getValue() == typeCode) { return type; } } throw new IllegalArgumentException("No matching ElemType found for type code " + typeCode); } } public final BSIG Header = inner(new BSIG()); public final Unsigned16 nFlags = new Unsigned16(); public final Unsigned16 elemType = new Unsigned16(); public final Unsigned32 dwReserved = new Unsigned32(); static { addVariableArray("Flags", "nFlags", Integer.class); } @Override public SIG getHeader() { return Header; } /** * @return Element these flags are for, CD_xxx_ELEMENT */ public ElemType getElemType() { return ElemType.valueOf((short) elemType.get()); } public int[] getFlags() { return (int[]) getVariableElement("Flags"); } }