package org.openntf.domino.nsfdata.structs.cd; import java.util.EnumSet; import java.util.Set; import org.openntf.domino.nsfdata.structs.SIG; import org.openntf.domino.nsfdata.structs.WSIG; /** * This CD Record gives information pertaining to data connection resource information in a field or form. (editods.h) * * @since Lotus Notes/Domino 6.0 */ public class CDDECSFIELD extends CDRecord { public static enum Flag { KEY_FIELD((short) 0x001), STORE_LOCALLY((short) 0x002); private final short value_; private Flag(final short value) { value_ = value; } public short getValue() { return value_; } public static Set<Flag> valuesOf(final short flags) { Set<Flag> result = EnumSet.noneOf(Flag.class); for (Flag flag : values()) { if ((flag.getValue() & flags) > 0) { result.add(flag); } } return result; } } public final WSIG Header = inner(new WSIG()); /** * Use getFlags for access. */ @Deprecated public final Unsigned16 Flags = new Unsigned16(); public final Unsigned16 ExternalNameLength = new Unsigned16(); public final Unsigned16 MetadataNameLength = new Unsigned16(); public final Unsigned16 DCRNameLength = new Unsigned16(); public final Unsigned16[] Spare = array(new Unsigned16[8]); static { addVariableString("ExternalName", "ExternalNameLength"); addVariableString("MetadataName", "MetadataNameLength"); addVariableString("DCRName", "DCRNameLength"); } @Override public SIG getHeader() { return Header; } public Set<Flag> getFlags() { return Flag.valuesOf((short) Flags.get()); } public String getExternalName() { return (String) getVariableElement("ExternalName"); } public String getMetadataName() { return (String) getVariableElement("MetadataName"); } public String getDCRName() { return (String) getVariableElement("DCRName"); } }