package org.openntf.domino.nsfdata.structs.cd; import java.util.EnumSet; import java.util.Set; public enum FieldFlag { /** * Field contains read/writers */ READWRITERS((short) 0x0001), /** * Field is editable, not read only */ EDITABLE((short) 0x0002), /** * Field contains distinguished names */ NAMES((short) 0x0004), /** * Store DV, even if not spec'ed by user */ STOREDV((short) 0x0008), /** * Field contains document readers */ READERS((short) 0x0010), /** * Field contains a section */ SECTION((short) 0x0020), /** * can be assumed to be clear in memory, V3 & later */ SPARE3((short) 0x0040), /** * IF CLEAR, CLEAR AS ABOVE */ V3FAB((short) 0x0080), /** * Field is a computed field */ COMPUTED((short) 0x0100), /** * Field is a keywords field */ KEYWORDS((short) 0x0200), /** * Field is protected */ PROTECTED((short) 0x0400), /** * Field name is simply a reference to a shared field note */ REFERENCE((short) 0x0800), /** * sign field */ SIGN((short) 0x1000), /** * seal field */ SEAL((short) 0x2000), /** * standard UI */ KEYWORDS_UI_STANDARD((short) 0x0000), /** * checkbox UI */ KEYWORDS_UI_CHECKBOX((short) 0x4000), /** * radiobutton UI */ KEYWORDS_UI_RADIOBUTTON((short) 0x8000), /** * allow doc editor to add new values */ KEYWORDS_UI_ALLOW_NEW((short) 0xc000); private final short value_; private FieldFlag(final short value) { value_ = value; } public short getValue() { return value_; } public static Set<FieldFlag> valuesOf(final short flags) { Set<FieldFlag> result = EnumSet.noneOf(FieldFlag.class); for (FieldFlag flag : values()) { if ((flag.getValue() & flags) > 0) { result.add(flag); } } return result; } }