package org.openntf.domino.nsfdata.structs.cd;
import java.util.EnumSet;
import java.util.Set;
import org.openntf.domino.nsfdata.structs.ODSUtils;
import org.openntf.domino.nsfdata.structs.SIG;
import org.openntf.domino.nsfdata.structs.WSIG;
/**
* A CD record of this type specifies the start of a DDE link. (editods.h)
*
* @since forever
*
*/
public class CDDDEBEGIN extends CDRecord {
public static enum Flag {
AUTOLINK(0x01), MANUALLINK(0x02), EMBEDDED(0x04), INITIATE(0x08), CDP(0x10), NOTES_LAUNCHED(0x20), CONV_ACTIVE(0x40),
EMBEDEXTRACTED(0x80), NEWOBJECT(0x100);
private final int value_;
private Flag(final int value) {
value_ = value;
}
public int getValue() {
return value_;
}
public static Set<Flag> valuesOf(final int flags) {
Set<Flag> result = EnumSet.noneOf(Flag.class);
for (Flag flag : values()) {
if ((flag.getValue() & flags) > 0) {
result.add(flag);
}
}
return result;
}
}
public static final int DDESERVERNAMEMAX = 32;
public static final int DDEITEMNAMEMAX = 64;
public static final int DDESERVERCOMMANDMAX = 256;
public final WSIG Header = inner(new WSIG());
/**
* @deprecated Use getServerName() for access
*/
@Deprecated
public final Unsigned8[] ServerName = array(new Unsigned8[DDESERVERNAMEMAX]);
/**
* @deprecated Use getTopicName() for access
*/
@Deprecated
public final Unsigned8[] TopicName = array(new Unsigned8[100]);
/**
* @deprecated Use getItemName() for access
*/
@Deprecated
public final Unsigned8[] ItemName = array(new Unsigned8[DDEITEMNAMEMAX]);
/**
* @deprecated Use getFlags() for access
*/
@Deprecated
public final Unsigned32 Flags = new Unsigned32();
/**
* @deprecated Use getPasteEmbedDocName() for access
*/
@Deprecated
public final Unsigned8[] PasteEmbedDocName = array(new Unsigned8[80]);
public final Unsigned16 EmbeddedDocCount = new Unsigned16();
public final Enum16<DDEFormat> ClipFormat = new Enum16<DDEFormat>(DDEFormat.values());
@Override
public SIG getHeader() {
return Header;
}
public Set<Flag> getFlags() {
return Flag.valuesOf((int) Flags.get());
}
public String getServerName() {
return ODSUtils.fromAscii(ServerName);
}
public String getTopicName() {
return ODSUtils.fromAscii(TopicName);
}
public String getItemName() {
return ODSUtils.fromAscii(ItemName);
}
public String getPasteEmbedDocName() {
return ODSUtils.fromAscii(PasteEmbedDocName);
}
@Override
public String toString() {
return "[" + getClass().getSimpleName() + ": ServerName=" + getServerName() + ", TopicName=" + getTopicName() + ", ItemName="
+ getItemName() + ", Flags=" + getFlags() + ", PasteEmbedDocName=" + getPasteEmbedDocName() + ", EmbeddedDocCount="
+ EmbeddedDocCount.get() + ", ClipFormat=" + ClipFormat.get() + "]";
}
}