/*
 * 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.modules.eqlext.jxb.gr;

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

import org.exolab.castor.xml.Marshaller;
import org.exolab.castor.xml.Unmarshaller;

/**
 * Class ReqsType.
 *
 * @version $Revision$ $Date$
 */
public class ReqsType extends com.queplix.core.utils.jxb.JXBObject
        implements java.io.Serializable {

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

    /**
     * Page to show (0 - show first page, -1 - show all pages)
     */
    private java.lang.Integer _page = new java.lang.Integer("0");

    /**
     * Page size (-1 - don't retrive records from database)
     */
    private java.lang.Integer _pagesize = new java.lang.Integer("20");

    /**
     * Make record counting or not
     */
    private java.lang.Boolean _docount = new java.lang.Boolean("false");

    /**
     * Add header information in response or not
     */
    private java.lang.Boolean _doheader = new java.lang.Boolean("true");

    /**
     * Add information about request in response or not
     */
    private java.lang.Boolean _getrequest = new java.lang.Boolean("true");

    /**
     * Ignore sendonrequest attributes
     */
    private java.lang.Boolean _ignoreSendOnRequest = new java.lang.Boolean(
            "false");

    /**
     * Field _req
     */
    private com.queplix.core.modules.eqlext.jxb.gr.Req _req;

    /**
     * Field _reqFilters
     */
    private com.queplix.core.modules.eqlext.jxb.gr.ReqFilters _reqFilters;

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

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

    public ReqsType() {
        super();
    } //-- com.queplix.core.modules.eqlext.jxb.gr.ReqsType()

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

    /**
     * Returns the value of field 'docount'. The field 'docount'
     * has the following description: Make record counting or not
     *
     * @return the value of field 'docount'.
     */
    public java.lang.Boolean getDocount() {
        return this._docount;
    } //-- java.lang.Boolean getDocount() 

    /**
     * Returns the value of field 'doheader'. The field 'doheader'
     * has the following description: Add header information in
     * response or not
     *
     * @return the value of field 'doheader'.
     */
    public java.lang.Boolean getDoheader() {
        return this._doheader;
    } //-- java.lang.Boolean getDoheader() 

    /**
     * Returns the value of field 'eqlFilters'.
     *
     * @return the value of field 'eqlFilters'.
     */
    public java.lang.String getEqlFilters() {
        return this._eqlFilters;
    } //-- java.lang.String getEqlFilters() 

    /**
     * Returns the value of field 'getrequest'. The field
     * 'getrequest' has the following description: Add information
     * about request in response or not
     *
     * @return the value of field 'getrequest'.
     */
    public java.lang.Boolean getGetrequest() {
        return this._getrequest;
    } //-- java.lang.Boolean getGetrequest() 

    /**
     * Returns the value of field 'ignoreSendOnRequest'. The field
     * 'ignoreSendOnRequest' has the following description: Ignore
     * sendonrequest attributes
     *
     * @return the value of field 'ignoreSendOnRequest'.
     */
    public java.lang.Boolean getIgnoreSendOnRequest() {
        return this._ignoreSendOnRequest;
    } //-- java.lang.Boolean getIgnoreSendOnRequest() 

    /**
     * Returns the value of field 'page'. The field 'page' has the
     * following description: Page to show (0 - show first page, -1
     * - show all pages)
     *
     * @return the value of field 'page'.
     */
    public java.lang.Integer getPage() {
        return this._page;
    } //-- java.lang.Integer getPage() 

    /**
     * Returns the value of field 'pagesize'. The field 'pagesize'
     * has the following description: Page size (-1 - don't retrive
     * records from database)
     *
     * @return the value of field 'pagesize'.
     */
    public java.lang.Integer getPagesize() {
        return this._pagesize;
    } //-- java.lang.Integer getPagesize() 

    /**
     * Returns the value of field 'req'.
     *
     * @return the value of field 'req'.
     */
    public com.queplix.core.modules.eqlext.jxb.gr.Req getReq() {
        return this._req;
    } //-- com.queplix.core.modules.eqlext.jxb.gr.Req getReq() 

    /**
     * Returns the value of field 'reqFilters'.
     *
     * @return the value of field 'reqFilters'.
     */
    public com.queplix.core.modules.eqlext.jxb.gr.ReqFilters getReqFilters() {
        return this._reqFilters;
    } //-- com.queplix.core.modules.eqlext.jxb.gr.ReqFilters getReqFilters() 

    /**
     * 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 'docount'. The field 'docount' has
     * the following description: Make record counting or not
     *
     * @param docount the value of field 'docount'.
     */
    public void setDocount(java.lang.Boolean docount) {
        this._docount = docount;
    } //-- void setDocount(java.lang.Boolean) 

    /**
     * Sets the value of field 'doheader'. The field 'doheader' has
     * the following description: Add header information in
     * response or not
     *
     * @param doheader the value of field 'doheader'.
     */
    public void setDoheader(java.lang.Boolean doheader) {
        this._doheader = doheader;
    } //-- void setDoheader(java.lang.Boolean) 

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

    /**
     * Sets the value of field 'getrequest'. The field 'getrequest'
     * has the following description: Add information about request
     * in response or not
     *
     * @param getrequest the value of field 'getrequest'.
     */
    public void setGetrequest(java.lang.Boolean getrequest) {
        this._getrequest = getrequest;
    } //-- void setGetrequest(java.lang.Boolean) 

    /**
     * Sets the value of field 'ignoreSendOnRequest'. The field
     * 'ignoreSendOnRequest' has the following description: Ignore
     * sendonrequest attributes
     *
     * @param ignoreSendOnRequest the value of field
     *                            'ignoreSendOnRequest'.
     */
    public void setIgnoreSendOnRequest(java.lang.Boolean ignoreSendOnRequest) {
        this._ignoreSendOnRequest = ignoreSendOnRequest;
    } //-- void setIgnoreSendOnRequest(java.lang.Boolean) 

    /**
     * Sets the value of field 'page'. The field 'page' has the
     * following description: Page to show (0 - show first page, -1
     * - show all pages)
     *
     * @param page the value of field 'page'.
     */
    public void setPage(java.lang.Integer page) {
        this._page = page;
    } //-- void setPage(java.lang.Integer) 

    /**
     * Sets the value of field 'pagesize'. The field 'pagesize' has
     * the following description: Page size (-1 - don't retrive
     * records from database)
     *
     * @param pagesize the value of field 'pagesize'.
     */
    public void setPagesize(java.lang.Integer pagesize) {
        this._pagesize = pagesize;
    } //-- void setPagesize(java.lang.Integer) 

    /**
     * Sets the value of field 'req'.
     *
     * @param req the value of field 'req'.
     */
    public void setReq(com.queplix.core.modules.eqlext.jxb.gr.Req req) {
        this._req = req;
    } //-- void setReq(com.queplix.core.modules.eqlext.jxb.gr.Req) 

    /**
     * Sets the value of field 'reqFilters'.
     *
     * @param reqFilters the value of field 'reqFilters'.
     */
    public void setReqFilters(
            com.queplix.core.modules.eqlext.jxb.gr.ReqFilters reqFilters) {
        this._reqFilters = reqFilters;
    } //-- void setReqFilters(com.queplix.core.modules.eqlext.jxb.gr.ReqFilters) 

    /**
     * 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.modules.eqlext.jxb.gr.ReqsType) Unmarshaller
                .unmarshal(
                        com.queplix.core.modules.eqlext.jxb.gr.ReqsType.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() 

}
