/*
 * This class was automatically generated with 
 * <a href="http://www.castor.org">Castor 0.9.7</a>, using an XML
 * Schema.
 * $Id$
 */

package com.queplix.core.jxb.entity;

  //---------------------------------/
 //- Imported classes and packages -/
//---------------------------------/

import com.queplix.core.jxb.entity.types.ControlSType;
import com.queplix.core.jxb.entity.types.DataSType;
import com.queplix.core.jxb.entity.types.EditmodeSType;
import com.queplix.core.jxb.entity.types.SqlSType;
import java.io.IOException;
import java.io.Reader;
import java.io.Serializable;
import java.io.Writer;
import org.exolab.castor.xml.MarshalException;
import org.exolab.castor.xml.Marshaller;
import org.exolab.castor.xml.Unmarshaller;
import org.exolab.castor.xml.ValidationException;
import org.xml.sax.ContentHandler;

/**
 * The entity field descriptor type
 * 
 * @version $Revision$ $Date$
 */
public class EfieldType extends com.queplix.core.utils.jxb.JXBObject 
implements java.io.Serializable
{


      //--------------------------/
     //- Class/Member Variables -/
    //--------------------------/

    /**
     * The name of field (mandatory)
     */
    private java.lang.String _name;

    /**
     * Is the field public key or not (False by default, being
     * taken from DB)
     */
    private java.lang.Boolean _pkey;

    /**
     * The real type of field in DB (being taken from DB)
     */
    private com.queplix.core.jxb.entity.types.SqlSType _sqltype;

    /**
     * The size of field value (optional, being taken from DB)
     */
    private java.lang.Integer _datasize;

    /**
     * Is the field can have NULL value (being taken from DB)
     */
    private java.lang.Boolean _nullable;

    /**
     * The showing type of field ('sqltype' by default)
     */
    private com.queplix.core.jxb.entity.types.DataSType _datatype;

    /**
     * Type of memo (prepend, append, edit)
     */
    private java.lang.String _memotype;

    /**
     * Is the field required or not (False by default)
     */
    private java.lang.Boolean _required;

    /**
     * Minimum possible value
     */
    private java.lang.Double _min;

    /**
     * Maximum possible value
     */
    private java.lang.Double _max;

    /**
     * Can you change the field
     */
    private java.lang.Boolean _readonly = new java.lang.Boolean("false");

    /**
     * Can you search by values of the field
     */
    private java.lang.Boolean _searchable = new java.lang.Boolean("true");

    /**
     * Can you save the field in database or not
     */
    private java.lang.Boolean _updatable = new java.lang.Boolean("true");

    /**
     * This attribute shows that this field be shown at grid
     */
    private java.lang.Boolean _grid = new java.lang.Boolean("false");

    /**
     * This attribute shows that this field be included to report
     */
    private java.lang.Boolean _includeToReport = new java.lang.Boolean("true");

    /**
     * The field transformation
     */
    private java.lang.String _transform;

    /**
     * The type of filed control
     */
    private com.queplix.core.jxb.entity.types.ControlSType _control;

    /**
     * Return value on request or not (used only for memo datatype)
     */
    private java.lang.Boolean _sendonrequest = new java.lang.Boolean("true");

    /**
     * Checked value (for checkbox only)
     */
    private java.lang.String _checked = "1";

    /**
     * Unchecked value (for checkbox only)
     */
    private java.lang.String _unchecked = "0";

    /**
     * Is the field visible on the form
     */
    private java.lang.Boolean _visible = new java.lang.Boolean("true");

    /**
     * Edit mode for memo field only
     */
    private com.queplix.core.jxb.entity.types.EditmodeSType _editmode = com.queplix.core.jxb.entity.types.EditmodeSType.valueOf("normal");

    /**
     * Indicates to use 'left-anchored' options in search
     */
    private java.lang.Boolean _leftAnchored = new java.lang.Boolean("false");

    /**
     * Indicates to use 'right-anchored' options in search
     */
    private java.lang.Boolean _rightAnchored = new java.lang.Boolean("false");

    /**
     * Can you select the field from database or not
     */
    private java.lang.Boolean _selectable = new java.lang.Boolean("true");

    /**
     * Exist in the table 'dbobject' or not
     */
    private java.lang.Boolean _virtual;

    /**
     * Is the join operation required for the field
     */
    private java.lang.Boolean _join = new java.lang.Boolean("true");

    /**
     * Attribute is reserved for internal purposes only
     */
    private java.lang.String _id;

    /**
     * Attribute is reserved for internal purposes only
     */
    private java.lang.String _entityName;

    /**
     * Attribute means what should be displayed in "Last viewed"
     * section. Atribute is added in core 3.0
     */
    private java.lang.Boolean _descriptive = new java.lang.Boolean("false");

    /**
     * Field _pattern
     */
    private java.lang.String _pattern;

    /**
     * Field _masked
     */
    private java.lang.Boolean _masked = new java.lang.Boolean("false");

    /**
     * This attribute describes, how the list of options was
     * loaded. If this attribute is true dataset should make call
     * to
     *  server each time it needed, otherwise it will be loaded at
     * once per session.
     *  
     */
    private java.lang.Boolean _dynamic = new java.lang.Boolean("false");

    /**
     * Field _inline
     */
    private java.lang.Boolean _inline = new java.lang.Boolean("false");

    /**
     * Field _chartName
     */
    private java.lang.String _chartName;

    /**
     * EQL query used as source for this column. Used in EQL module.
     */
    private java.lang.String _eqlSrc;

    /**
     * EQL query used as default source for this column. Used in
     * EQL module.
     */
    private java.lang.String _eqlDefsrc;

    /**
     * EQL function used in 'WHERE' clause of EQL query. Used in
     * EQL EXT module.
     */
    private java.lang.String _eqlextSrchfunc;

    /**
     * The reference to source entity field
     */
    private com.queplix.core.jxb.entity.Ref _ref;

    /**
     * The reference to entity list-field for lookup and select
     * controls
     */
    private com.queplix.core.jxb.entity.Listref _listref;


      //----------------/
     //- Constructors -/
    //----------------/

    public EfieldType() 
     {
        super();
        setChecked("1");
        setUnchecked("0");
        setEditmode(com.queplix.core.jxb.entity.types.EditmodeSType.valueOf("normal"));
    } //-- com.queplix.core.jxb.entity.EfieldType()


      //-----------/
     //- Methods -/
    //-----------/

    /**
     * Returns the value of field 'chartName'.
     * 
     * @return String
     * @return the value of field 'chartName'.
     */
    public java.lang.String getChartName()
    {
        return this._chartName;
    } //-- java.lang.String getChartName() 

    /**
     * Returns the value of field 'checked'. The field 'checked'
     * has the following description: Checked value (for checkbox
     * only)
     * 
     * @return String
     * @return the value of field 'checked'.
     */
    public java.lang.String getChecked()
    {
        return this._checked;
    } //-- java.lang.String getChecked() 

    /**
     * Returns the value of field 'control'. The field 'control'
     * has the following description: The type of filed control
     * 
     * @return ControlSType
     * @return the value of field 'control'.
     */
    public com.queplix.core.jxb.entity.types.ControlSType getControl()
    {
        return this._control;
    } //-- com.queplix.core.jxb.entity.types.ControlSType getControl() 

    /**
     * Returns the value of field 'datasize'. The field 'datasize'
     * has the following description: The size of field value
     * (optional, being taken from DB)
     * 
     * @return Integer
     * @return the value of field 'datasize'.
     */
    public java.lang.Integer getDatasize()
    {
        return this._datasize;
    } //-- java.lang.Integer getDatasize() 

    /**
     * Returns the value of field 'datatype'. The field 'datatype'
     * has the following description: The showing type of field
     * ('sqltype' by default)
     * 
     * @return DataSType
     * @return the value of field 'datatype'.
     */
    public com.queplix.core.jxb.entity.types.DataSType getDatatype()
    {
        return this._datatype;
    } //-- com.queplix.core.jxb.entity.types.DataSType getDatatype() 

    /**
     * Returns the value of field 'descriptive'. The field
     * 'descriptive' has the following description: Attribute means
     * what should be displayed in "Last viewed" section. Atribute
     * is added in core 3.0
     * 
     * @return Boolean
     * @return the value of field 'descriptive'.
     */
    public java.lang.Boolean getDescriptive()
    {
        return this._descriptive;
    } //-- java.lang.Boolean getDescriptive() 

    /**
     * Returns the value of field 'dynamic'. The field 'dynamic'
     * has the following description: This attribute describes, how
     * the list of options was loaded. If this attribute is true
     * dataset should make call to
     *  server each time it needed, otherwise it will be loaded at
     * once per session.
     *  
     * 
     * @return Boolean
     * @return the value of field 'dynamic'.
     */
    public java.lang.Boolean getDynamic()
    {
        return this._dynamic;
    } //-- java.lang.Boolean getDynamic() 

    /**
     * Returns the value of field 'editmode'. The field 'editmode'
     * has the following description: Edit mode for memo field only
     * 
     * @return EditmodeSType
     * @return the value of field 'editmode'.
     */
    public com.queplix.core.jxb.entity.types.EditmodeSType getEditmode()
    {
        return this._editmode;
    } //-- com.queplix.core.jxb.entity.types.EditmodeSType getEditmode() 

    /**
     * Returns the value of field 'entityName'. The field
     * 'entityName' has the following description: Attribute is
     * reserved for internal purposes only
     * 
     * @return String
     * @return the value of field 'entityName'.
     */
    public java.lang.String getEntityName()
    {
        return this._entityName;
    } //-- java.lang.String getEntityName() 

    /**
     * Returns the value of field 'eqlDefsrc'. The field
     * 'eqlDefsrc' has the following description: EQL query used as
     * default source for this column. Used in EQL module.
     * 
     * @return String
     * @return the value of field 'eqlDefsrc'.
     */
    public java.lang.String getEqlDefsrc()
    {
        return this._eqlDefsrc;
    } //-- java.lang.String getEqlDefsrc() 

    /**
     * Returns the value of field 'eqlSrc'. The field 'eqlSrc' has
     * the following description: EQL query used as source for this
     * column. Used in EQL module.
     * 
     * @return String
     * @return the value of field 'eqlSrc'.
     */
    public java.lang.String getEqlSrc()
    {
        return this._eqlSrc;
    } //-- java.lang.String getEqlSrc() 

    /**
     * Returns the value of field 'eqlextSrchfunc'. The field
     * 'eqlextSrchfunc' has the following description: EQL function
     * used in 'WHERE' clause of EQL query. Used in EQL EXT module.
     * 
     * @return String
     * @return the value of field 'eqlextSrchfunc'.
     */
    public java.lang.String getEqlextSrchfunc()
    {
        return this._eqlextSrchfunc;
    } //-- java.lang.String getEqlextSrchfunc() 

    /**
     * Returns the value of field 'grid'. The field 'grid' has the
     * following description: This attribute shows that this field
     * be shown at grid
     * 
     * @return Boolean
     * @return the value of field 'grid'.
     */
    public java.lang.Boolean getGrid()
    {
        return this._grid;
    } //-- java.lang.Boolean getGrid() 

    /**
     * Returns the value of field 'id'. The field 'id' has the
     * following description: Attribute is reserved for internal
     * purposes only
     * 
     * @return String
     * @return the value of field 'id'.
     */
    public java.lang.String getId()
    {
        return this._id;
    } //-- java.lang.String getId() 

    /**
     * Returns the value of field 'includeToReport'. The field
     * 'includeToReport' has the following description: This
     * attribute shows that this field be included to report
     * 
     * @return Boolean
     * @return the value of field 'includeToReport'.
     */
    public java.lang.Boolean getIncludeToReport()
    {
        return this._includeToReport;
    } //-- java.lang.Boolean getIncludeToReport() 

    /**
     * Returns the value of field 'inline'.
     * 
     * @return Boolean
     * @return the value of field 'inline'.
     */
    public java.lang.Boolean getInline()
    {
        return this._inline;
    } //-- java.lang.Boolean getInline() 

    /**
     * Returns the value of field 'join'. The field 'join' has the
     * following description: Is the join operation required for
     * the field
     * 
     * @return Boolean
     * @return the value of field 'join'.
     */
    public java.lang.Boolean getJoin()
    {
        return this._join;
    } //-- java.lang.Boolean getJoin() 

    /**
     * Returns the value of field 'leftAnchored'. The field
     * 'leftAnchored' has the following description: Indicates to
     * use 'left-anchored' options in search
     * 
     * @return Boolean
     * @return the value of field 'leftAnchored'.
     */
    public java.lang.Boolean getLeftAnchored()
    {
        return this._leftAnchored;
    } //-- java.lang.Boolean getLeftAnchored() 

    /**
     * Returns the value of field 'listref'. The field 'listref'
     * has the following description: The reference to entity
     * list-field for lookup and select controls
     * 
     * @return Listref
     * @return the value of field 'listref'.
     */
    public com.queplix.core.jxb.entity.Listref getListref()
    {
        return this._listref;
    } //-- com.queplix.core.jxb.entity.Listref getListref() 

    /**
     * Returns the value of field 'masked'.
     * 
     * @return Boolean
     * @return the value of field 'masked'.
     */
    public java.lang.Boolean getMasked()
    {
        return this._masked;
    } //-- java.lang.Boolean getMasked() 

    /**
     * Returns the value of field 'max'. The field 'max' has the
     * following description: Maximum possible value
     * 
     * @return Double
     * @return the value of field 'max'.
     */
    public java.lang.Double getMax()
    {
        return this._max;
    } //-- java.lang.Double getMax() 

    /**
     * Returns the value of field 'memotype'. The field 'memotype'
     * has the following description: Type of memo (prepend,
     * append, edit)
     * 
     * @return String
     * @return the value of field 'memotype'.
     */
    public java.lang.String getMemotype()
    {
        return this._memotype;
    } //-- java.lang.String getMemotype() 

    /**
     * Returns the value of field 'min'. The field 'min' has the
     * following description: Minimum possible value
     * 
     * @return Double
     * @return the value of field 'min'.
     */
    public java.lang.Double getMin()
    {
        return this._min;
    } //-- java.lang.Double getMin() 

    /**
     * Returns the value of field 'name'. The field 'name' has the
     * following description: The name of field (mandatory)
     * 
     * @return String
     * @return the value of field 'name'.
     */
    public java.lang.String getName()
    {
        return this._name;
    } //-- java.lang.String getName() 

    /**
     * Returns the value of field 'nullable'. The field 'nullable'
     * has the following description: Is the field can have NULL
     * value (being taken from DB)
     * 
     * @return Boolean
     * @return the value of field 'nullable'.
     */
    public java.lang.Boolean getNullable()
    {
        return this._nullable;
    } //-- java.lang.Boolean getNullable() 

    /**
     * Returns the value of field 'pattern'.
     * 
     * @return String
     * @return the value of field 'pattern'.
     */
    public java.lang.String getPattern()
    {
        return this._pattern;
    } //-- java.lang.String getPattern() 

    /**
     * Returns the value of field 'pkey'. The field 'pkey' has the
     * following description: Is the field public key or not (False
     * by default, being taken from DB)
     * 
     * @return Boolean
     * @return the value of field 'pkey'.
     */
    public java.lang.Boolean getPkey()
    {
        return this._pkey;
    } //-- java.lang.Boolean getPkey() 

    /**
     * Returns the value of field 'readonly'. The field 'readonly'
     * has the following description: Can you change the field
     * 
     * @return Boolean
     * @return the value of field 'readonly'.
     */
    public java.lang.Boolean getReadonly()
    {
        return this._readonly;
    } //-- java.lang.Boolean getReadonly() 

    /**
     * Returns the value of field 'ref'. The field 'ref' has the
     * following description: The reference to source entity field
     * 
     * @return Ref
     * @return the value of field 'ref'.
     */
    public com.queplix.core.jxb.entity.Ref getRef()
    {
        return this._ref;
    } //-- com.queplix.core.jxb.entity.Ref getRef() 

    /**
     * Returns the value of field 'required'. The field 'required'
     * has the following description: Is the field required or not
     * (False by default)
     * 
     * @return Boolean
     * @return the value of field 'required'.
     */
    public java.lang.Boolean getRequired()
    {
        return this._required;
    } //-- java.lang.Boolean getRequired() 

    /**
     * Returns the value of field 'rightAnchored'. The field
     * 'rightAnchored' has the following description: Indicates to
     * use 'right-anchored' options in search
     * 
     * @return Boolean
     * @return the value of field 'rightAnchored'.
     */
    public java.lang.Boolean getRightAnchored()
    {
        return this._rightAnchored;
    } //-- java.lang.Boolean getRightAnchored() 

    /**
     * Returns the value of field 'searchable'. The field
     * 'searchable' has the following description: Can you search
     * by values of the field
     * 
     * @return Boolean
     * @return the value of field 'searchable'.
     */
    public java.lang.Boolean getSearchable()
    {
        return this._searchable;
    } //-- java.lang.Boolean getSearchable() 

    /**
     * Returns the value of field 'selectable'. The field
     * 'selectable' has the following description: Can you select
     * the field from database or not
     * 
     * @return Boolean
     * @return the value of field 'selectable'.
     */
    public java.lang.Boolean getSelectable()
    {
        return this._selectable;
    } //-- java.lang.Boolean getSelectable() 

    /**
     * Returns the value of field 'sendonrequest'. The field
     * 'sendonrequest' has the following description: Return value
     * on request or not (used only for memo datatype)
     * 
     * @return Boolean
     * @return the value of field 'sendonrequest'.
     */
    public java.lang.Boolean getSendonrequest()
    {
        return this._sendonrequest;
    } //-- java.lang.Boolean getSendonrequest() 

    /**
     * Returns the value of field 'sqltype'. The field 'sqltype'
     * has the following description: The real type of field in DB
     * (being taken from DB)
     * 
     * @return SqlSType
     * @return the value of field 'sqltype'.
     */
    public com.queplix.core.jxb.entity.types.SqlSType getSqltype()
    {
        return this._sqltype;
    } //-- com.queplix.core.jxb.entity.types.SqlSType getSqltype() 

    /**
     * Returns the value of field 'transform'. The field
     * 'transform' has the following description: The field
     * transformation
     * 
     * @return String
     * @return the value of field 'transform'.
     */
    public java.lang.String getTransform()
    {
        return this._transform;
    } //-- java.lang.String getTransform() 

    /**
     * Returns the value of field 'unchecked'. The field
     * 'unchecked' has the following description: Unchecked value
     * (for checkbox only)
     * 
     * @return String
     * @return the value of field 'unchecked'.
     */
    public java.lang.String getUnchecked()
    {
        return this._unchecked;
    } //-- java.lang.String getUnchecked() 

    /**
     * Returns the value of field 'updatable'. The field
     * 'updatable' has the following description: Can you save the
     * field in database or not
     * 
     * @return Boolean
     * @return the value of field 'updatable'.
     */
    public java.lang.Boolean getUpdatable()
    {
        return this._updatable;
    } //-- java.lang.Boolean getUpdatable() 

    /**
     * Returns the value of field 'virtual'. The field 'virtual'
     * has the following description: Exist in the table 'dbobject'
     * or not
     * 
     * @return Boolean
     * @return the value of field 'virtual'.
     */
    public java.lang.Boolean getVirtual()
    {
        return this._virtual;
    } //-- java.lang.Boolean getVirtual() 

    /**
     * Returns the value of field 'visible'. The field 'visible'
     * has the following description: Is the field visible on the
     * form
     * 
     * @return Boolean
     * @return the value of field 'visible'.
     */
    public java.lang.Boolean getVisible()
    {
        return this._visible;
    } //-- java.lang.Boolean getVisible() 

    /**
     * Method isValid
     * 
     * 
     * 
     * @return boolean
     */
    public boolean isValid()
    {
        try {
            validate();
        }
        catch (org.exolab.castor.xml.ValidationException vex) {
            return false;
        }
        return true;
    } //-- boolean isValid() 

    /**
     * Method marshal
     * 
     * 
     * 
     * @param out
     */
    public void marshal(java.io.Writer out)
        throws org.exolab.castor.xml.MarshalException, org.exolab.castor.xml.ValidationException
    {
        
        Marshaller.marshal(this, out);
    } //-- void marshal(java.io.Writer) 

    /**
     * Method marshal
     * 
     * 
     * 
     * @param handler
     */
    public void marshal(org.xml.sax.ContentHandler handler)
        throws java.io.IOException, org.exolab.castor.xml.MarshalException, org.exolab.castor.xml.ValidationException
    {
        
        Marshaller.marshal(this, handler);
    } //-- void marshal(org.xml.sax.ContentHandler) 

    /**
     * Sets the value of field 'chartName'.
     * 
     * @param chartName the value of field 'chartName'.
     */
    public void setChartName(java.lang.String chartName)
    {
        this._chartName = chartName;
    } //-- void setChartName(java.lang.String) 

    /**
     * Sets the value of field 'checked'. The field 'checked' has
     * the following description: Checked value (for checkbox only)
     * 
     * @param checked the value of field 'checked'.
     */
    public void setChecked(java.lang.String checked)
    {
        this._checked = checked;
    } //-- void setChecked(java.lang.String) 

    /**
     * Sets the value of field 'control'. The field 'control' has
     * the following description: The type of filed control
     * 
     * @param control the value of field 'control'.
     */
    public void setControl(com.queplix.core.jxb.entity.types.ControlSType control)
    {
        this._control = control;
    } //-- void setControl(com.queplix.core.jxb.entity.types.ControlSType) 

    /**
     * Sets the value of field 'datasize'. The field 'datasize' has
     * the following description: The size of field value
     * (optional, being taken from DB)
     * 
     * @param datasize the value of field 'datasize'.
     */
    public void setDatasize(java.lang.Integer datasize)
    {
        this._datasize = datasize;
    } //-- void setDatasize(java.lang.Integer) 

    /**
     * Sets the value of field 'datatype'. The field 'datatype' has
     * the following description: The showing type of field
     * ('sqltype' by default)
     * 
     * @param datatype the value of field 'datatype'.
     */
    public void setDatatype(com.queplix.core.jxb.entity.types.DataSType datatype)
    {
        this._datatype = datatype;
    } //-- void setDatatype(com.queplix.core.jxb.entity.types.DataSType) 

    /**
     * Sets the value of field 'descriptive'. The field
     * 'descriptive' has the following description: Attribute means
     * what should be displayed in "Last viewed" section. Atribute
     * is added in core 3.0
     * 
     * @param descriptive the value of field 'descriptive'.
     */
    public void setDescriptive(java.lang.Boolean descriptive)
    {
        this._descriptive = descriptive;
    } //-- void setDescriptive(java.lang.Boolean) 

    /**
     * Sets the value of field 'dynamic'. The field 'dynamic' has
     * the following description: This attribute describes, how the
     * list of options was loaded. If this attribute is true
     * dataset should make call to
     *  server each time it needed, otherwise it will be loaded at
     * once per session.
     *  
     * 
     * @param dynamic the value of field 'dynamic'.
     */
    public void setDynamic(java.lang.Boolean dynamic)
    {
        this._dynamic = dynamic;
    } //-- void setDynamic(java.lang.Boolean) 

    /**
     * Sets the value of field 'editmode'. The field 'editmode' has
     * the following description: Edit mode for memo field only
     * 
     * @param editmode the value of field 'editmode'.
     */
    public void setEditmode(com.queplix.core.jxb.entity.types.EditmodeSType editmode)
    {
        this._editmode = editmode;
    } //-- void setEditmode(com.queplix.core.jxb.entity.types.EditmodeSType) 

    /**
     * Sets the value of field 'entityName'. The field 'entityName'
     * has the following description: Attribute is reserved for
     * internal purposes only
     * 
     * @param entityName the value of field 'entityName'.
     */
    public void setEntityName(java.lang.String entityName)
    {
        this._entityName = entityName;
    } //-- void setEntityName(java.lang.String) 

    /**
     * Sets the value of field 'eqlDefsrc'. The field 'eqlDefsrc'
     * has the following description: EQL query used as default
     * source for this column. Used in EQL module.
     * 
     * @param eqlDefsrc the value of field 'eqlDefsrc'.
     */
    public void setEqlDefsrc(java.lang.String eqlDefsrc)
    {
        this._eqlDefsrc = eqlDefsrc;
    } //-- void setEqlDefsrc(java.lang.String) 

    /**
     * Sets the value of field 'eqlSrc'. The field 'eqlSrc' has the
     * following description: EQL query used as source for this
     * column. Used in EQL module.
     * 
     * @param eqlSrc the value of field 'eqlSrc'.
     */
    public void setEqlSrc(java.lang.String eqlSrc)
    {
        this._eqlSrc = eqlSrc;
    } //-- void setEqlSrc(java.lang.String) 

    /**
     * Sets the value of field 'eqlextSrchfunc'. The field
     * 'eqlextSrchfunc' has the following description: EQL function
     * used in 'WHERE' clause of EQL query. Used in EQL EXT module.
     * 
     * @param eqlextSrchfunc the value of field 'eqlextSrchfunc'.
     */
    public void setEqlextSrchfunc(java.lang.String eqlextSrchfunc)
    {
        this._eqlextSrchfunc = eqlextSrchfunc;
    } //-- void setEqlextSrchfunc(java.lang.String) 

    /**
     * Sets the value of field 'grid'. The field 'grid' has the
     * following description: This attribute shows that this field
     * be shown at grid
     * 
     * @param grid the value of field 'grid'.
     */
    public void setGrid(java.lang.Boolean grid)
    {
        this._grid = grid;
    } //-- void setGrid(java.lang.Boolean) 

    /**
     * Sets the value of field 'id'. The field 'id' has the
     * following description: Attribute is reserved for internal
     * purposes only
     * 
     * @param id the value of field 'id'.
     */
    public void setId(java.lang.String id)
    {
        this._id = id;
    } //-- void setId(java.lang.String) 

    /**
     * Sets the value of field 'includeToReport'. The field
     * 'includeToReport' has the following description: This
     * attribute shows that this field be included to report
     * 
     * @param includeToReport the value of field 'includeToReport'.
     */
    public void setIncludeToReport(java.lang.Boolean includeToReport)
    {
        this._includeToReport = includeToReport;
    } //-- void setIncludeToReport(java.lang.Boolean) 

    /**
     * Sets the value of field 'inline'.
     * 
     * @param inline the value of field 'inline'.
     */
    public void setInline(java.lang.Boolean inline)
    {
        this._inline = inline;
    } //-- void setInline(java.lang.Boolean) 

    /**
     * Sets the value of field 'join'. The field 'join' has the
     * following description: Is the join operation required for
     * the field
     * 
     * @param join the value of field 'join'.
     */
    public void setJoin(java.lang.Boolean join)
    {
        this._join = join;
    } //-- void setJoin(java.lang.Boolean) 

    /**
     * Sets the value of field 'leftAnchored'. The field
     * 'leftAnchored' has the following description: Indicates to
     * use 'left-anchored' options in search
     * 
     * @param leftAnchored the value of field 'leftAnchored'.
     */
    public void setLeftAnchored(java.lang.Boolean leftAnchored)
    {
        this._leftAnchored = leftAnchored;
    } //-- void setLeftAnchored(java.lang.Boolean) 

    /**
     * Sets the value of field 'listref'. The field 'listref' has
     * the following description: The reference to entity
     * list-field for lookup and select controls
     * 
     * @param listref the value of field 'listref'.
     */
    public void setListref(com.queplix.core.jxb.entity.Listref listref)
    {
        this._listref = listref;
    } //-- void setListref(com.queplix.core.jxb.entity.Listref) 

    /**
     * Sets the value of field 'masked'.
     * 
     * @param masked the value of field 'masked'.
     */
    public void setMasked(java.lang.Boolean masked)
    {
        this._masked = masked;
    } //-- void setMasked(java.lang.Boolean) 

    /**
     * Sets the value of field 'max'. The field 'max' has the
     * following description: Maximum possible value
     * 
     * @param max the value of field 'max'.
     */
    public void setMax(java.lang.Double max)
    {
        this._max = max;
    } //-- void setMax(java.lang.Double) 

    /**
     * Sets the value of field 'memotype'. The field 'memotype' has
     * the following description: Type of memo (prepend, append,
     * edit)
     * 
     * @param memotype the value of field 'memotype'.
     */
    public void setMemotype(java.lang.String memotype)
    {
        this._memotype = memotype;
    } //-- void setMemotype(java.lang.String) 

    /**
     * Sets the value of field 'min'. The field 'min' has the
     * following description: Minimum possible value
     * 
     * @param min the value of field 'min'.
     */
    public void setMin(java.lang.Double min)
    {
        this._min = min;
    } //-- void setMin(java.lang.Double) 

    /**
     * Sets the value of field 'name'. The field 'name' has the
     * following description: The name of field (mandatory)
     * 
     * @param name the value of field 'name'.
     */
    public void setName(java.lang.String name)
    {
        this._name = name;
    } //-- void setName(java.lang.String) 

    /**
     * Sets the value of field 'nullable'. The field 'nullable' has
     * the following description: Is the field can have NULL value
     * (being taken from DB)
     * 
     * @param nullable the value of field 'nullable'.
     */
    public void setNullable(java.lang.Boolean nullable)
    {
        this._nullable = nullable;
    } //-- void setNullable(java.lang.Boolean) 

    /**
     * Sets the value of field 'pattern'.
     * 
     * @param pattern the value of field 'pattern'.
     */
    public void setPattern(java.lang.String pattern)
    {
        this._pattern = pattern;
    } //-- void setPattern(java.lang.String) 

    /**
     * Sets the value of field 'pkey'. The field 'pkey' has the
     * following description: Is the field public key or not (False
     * by default, being taken from DB)
     * 
     * @param pkey the value of field 'pkey'.
     */
    public void setPkey(java.lang.Boolean pkey)
    {
        this._pkey = pkey;
    } //-- void setPkey(java.lang.Boolean) 

    /**
     * Sets the value of field 'readonly'. The field 'readonly' has
     * the following description: Can you change the field
     * 
     * @param readonly the value of field 'readonly'.
     */
    public void setReadonly(java.lang.Boolean readonly)
    {
        this._readonly = readonly;
    } //-- void setReadonly(java.lang.Boolean) 

    /**
     * Sets the value of field 'ref'. The field 'ref' has the
     * following description: The reference to source entity field
     * 
     * @param ref the value of field 'ref'.
     */
    public void setRef(com.queplix.core.jxb.entity.Ref ref)
    {
        this._ref = ref;
    } //-- void setRef(com.queplix.core.jxb.entity.Ref) 

    /**
     * Sets the value of field 'required'. The field 'required' has
     * the following description: Is the field required or not
     * (False by default)
     * 
     * @param required the value of field 'required'.
     */
    public void setRequired(java.lang.Boolean required)
    {
        this._required = required;
    } //-- void setRequired(java.lang.Boolean) 

    /**
     * Sets the value of field 'rightAnchored'. The field
     * 'rightAnchored' has the following description: Indicates to
     * use 'right-anchored' options in search
     * 
     * @param rightAnchored the value of field 'rightAnchored'.
     */
    public void setRightAnchored(java.lang.Boolean rightAnchored)
    {
        this._rightAnchored = rightAnchored;
    } //-- void setRightAnchored(java.lang.Boolean) 

    /**
     * Sets the value of field 'searchable'. The field 'searchable'
     * has the following description: Can you search by values of
     * the field
     * 
     * @param searchable the value of field 'searchable'.
     */
    public void setSearchable(java.lang.Boolean searchable)
    {
        this._searchable = searchable;
    } //-- void setSearchable(java.lang.Boolean) 

    /**
     * Sets the value of field 'selectable'. The field 'selectable'
     * has the following description: Can you select the field from
     * database or not
     * 
     * @param selectable the value of field 'selectable'.
     */
    public void setSelectable(java.lang.Boolean selectable)
    {
        this._selectable = selectable;
    } //-- void setSelectable(java.lang.Boolean) 

    /**
     * Sets the value of field 'sendonrequest'. The field
     * 'sendonrequest' has the following description: Return value
     * on request or not (used only for memo datatype)
     * 
     * @param sendonrequest the value of field 'sendonrequest'.
     */
    public void setSendonrequest(java.lang.Boolean sendonrequest)
    {
        this._sendonrequest = sendonrequest;
    } //-- void setSendonrequest(java.lang.Boolean) 

    /**
     * Sets the value of field 'sqltype'. The field 'sqltype' has
     * the following description: The real type of field in DB
     * (being taken from DB)
     * 
     * @param sqltype the value of field 'sqltype'.
     */
    public void setSqltype(com.queplix.core.jxb.entity.types.SqlSType sqltype)
    {
        this._sqltype = sqltype;
    } //-- void setSqltype(com.queplix.core.jxb.entity.types.SqlSType) 

    /**
     * Sets the value of field 'transform'. The field 'transform'
     * has the following description: The field transformation
     * 
     * @param transform the value of field 'transform'.
     */
    public void setTransform(java.lang.String transform)
    {
        this._transform = transform;
    } //-- void setTransform(java.lang.String) 

    /**
     * Sets the value of field 'unchecked'. The field 'unchecked'
     * has the following description: Unchecked value (for checkbox
     * only)
     * 
     * @param unchecked the value of field 'unchecked'.
     */
    public void setUnchecked(java.lang.String unchecked)
    {
        this._unchecked = unchecked;
    } //-- void setUnchecked(java.lang.String) 

    /**
     * Sets the value of field 'updatable'. The field 'updatable'
     * has the following description: Can you save the field in
     * database or not
     * 
     * @param updatable the value of field 'updatable'.
     */
    public void setUpdatable(java.lang.Boolean updatable)
    {
        this._updatable = updatable;
    } //-- void setUpdatable(java.lang.Boolean) 

    /**
     * Sets the value of field 'virtual'. The field 'virtual' has
     * the following description: Exist in the table 'dbobject' or
     * not
     * 
     * @param virtual the value of field 'virtual'.
     */
    public void setVirtual(java.lang.Boolean virtual)
    {
        this._virtual = virtual;
    } //-- void setVirtual(java.lang.Boolean) 

    /**
     * Sets the value of field 'visible'. The field 'visible' has
     * the following description: Is the field visible on the form
     * 
     * @param visible the value of field 'visible'.
     */
    public void setVisible(java.lang.Boolean visible)
    {
        this._visible = visible;
    } //-- void setVisible(java.lang.Boolean) 

    /**
     * Method unmarshal
     * 
     * 
     * 
     * @param reader
     * @return Object
     */
    public static java.lang.Object unmarshal(java.io.Reader reader)
        throws org.exolab.castor.xml.MarshalException, org.exolab.castor.xml.ValidationException
    {
        return (com.queplix.core.jxb.entity.EfieldType) Unmarshaller.unmarshal(com.queplix.core.jxb.entity.EfieldType.class, reader);
    } //-- java.lang.Object unmarshal(java.io.Reader) 

    /**
     * Method validate
     * 
     */
    public void validate()
        throws org.exolab.castor.xml.ValidationException
    {
        org.exolab.castor.xml.Validator validator = new org.exolab.castor.xml.Validator();
        validator.validate(this);
    } //-- void validate() 

}
