/**
*
*/
package org.openntf.domino.schema;
import java.io.Externalizable;
import java.util.Set;
import org.openntf.domino.Document;
import org.openntf.domino.Item;
import org.openntf.domino.schema.impl.DatabaseSchema;
import org.openntf.domino.schema.impl.DatabaseSchema.Flags;
import org.openntf.domino.schema.impl.DocumentDefinition;
/**
* @author Nathan T. Freeman
*
*/
public interface IItemDefinition extends Externalizable {
public void setParent(DatabaseSchema parent);
public IDatabaseSchema getParent();
public String getName();
public String getShortName();
public void setName(String name);
public String getDefaultLabel();
public void setDefaultLabel(String defaultLabel);
public Class<? extends IDominoType> getType();
public void setType(Class<? extends IDominoType> type);
public Set<Flags> getFlags();
public void setFlags(Set<Flags> flags);
public void addFlag(Flags flag);
public void removeFlag(Flags flag);
public Object getDefaultValue();
public void setDefaultValue(Object defaultValue);
public IItemValidation getValidator();
public void setValidator(IItemValidation validator);
public Set<IItemListener> getItemListeners();
public void addItemListener(IItemListener listener);
public Item createDefaultItem(Document result, DocumentDefinition def);
}