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

package nz.co.cks.tms.xml;

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

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;

/**
 * Class MessageTypeChoice.
 * 
 * @version $Revision$ $Date$
 */
public class MessageTypeChoice implements java.io.Serializable {


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

    /**
     * Field _messageAdminBlk
     */
    private nz.co.cks.tms.xml.MessageAdminBlk _messageAdminBlk;

    /**
     * Field _messageReportBlk
     */
    private nz.co.cks.tms.xml.MessageReportBlk _messageReportBlk;

    /**
     * Field _messageTransactionBlk
     */
    private nz.co.cks.tms.xml.MessageTransactionBlk _messageTransactionBlk;

    /**
     * Field _messageEnquiryBlk
     */
    private nz.co.cks.tms.xml.MessageEnquiryBlk _messageEnquiryBlk;

    /**
     * Field _messageResponseBlk
     */
    private nz.co.cks.tms.xml.MessageResponseBlk _messageResponseBlk;


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

    public MessageTypeChoice() {
        super();
    } //-- nz.co.cks.tms.xml.MessageTypeChoice()


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

    /**
     * Method getMessageAdminBlkReturns the value of field
     * 'messageAdminBlk'.
     * 
     * @return the value of field 'messageAdminBlk'.
     */
    public nz.co.cks.tms.xml.MessageAdminBlk getMessageAdminBlk()
    {
        return this._messageAdminBlk;
    } //-- nz.co.cks.tms.xml.MessageAdminBlk getMessageAdminBlk() 

    /**
     * Method getMessageEnquiryBlkReturns the value of field
     * 'messageEnquiryBlk'.
     * 
     * @return the value of field 'messageEnquiryBlk'.
     */
    public nz.co.cks.tms.xml.MessageEnquiryBlk getMessageEnquiryBlk()
    {
        return this._messageEnquiryBlk;
    } //-- nz.co.cks.tms.xml.MessageEnquiryBlk getMessageEnquiryBlk() 

    /**
     * Method getMessageReportBlkReturns the value of field
     * 'messageReportBlk'.
     * 
     * @return the value of field 'messageReportBlk'.
     */
    public nz.co.cks.tms.xml.MessageReportBlk getMessageReportBlk()
    {
        return this._messageReportBlk;
    } //-- nz.co.cks.tms.xml.MessageReportBlk getMessageReportBlk() 

    /**
     * Method getMessageResponseBlkReturns the value of field
     * 'messageResponseBlk'.
     * 
     * @return the value of field 'messageResponseBlk'.
     */
    public nz.co.cks.tms.xml.MessageResponseBlk getMessageResponseBlk()
    {
        return this._messageResponseBlk;
    } //-- nz.co.cks.tms.xml.MessageResponseBlk getMessageResponseBlk() 

    /**
     * Method getMessageTransactionBlkReturns the value of field
     * 'messageTransactionBlk'.
     * 
     * @return the value of field 'messageTransactionBlk'.
     */
    public nz.co.cks.tms.xml.MessageTransactionBlk getMessageTransactionBlk()
    {
        return this._messageTransactionBlk;
    } //-- nz.co.cks.tms.xml.MessageTransactionBlk getMessageTransactionBlk() 

    /**
     * Method isValid
     */
    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) 

    /**
     * Method setMessageAdminBlkSets the value of field
     * 'messageAdminBlk'.
     * 
     * @param messageAdminBlk the value of field 'messageAdminBlk'.
     */
    public void setMessageAdminBlk(nz.co.cks.tms.xml.MessageAdminBlk messageAdminBlk)
    {
        this._messageAdminBlk = messageAdminBlk;
    } //-- void setMessageAdminBlk(nz.co.cks.tms.xml.MessageAdminBlk) 

    /**
     * Method setMessageEnquiryBlkSets the value of field
     * 'messageEnquiryBlk'.
     * 
     * @param messageEnquiryBlk the value of field
     * 'messageEnquiryBlk'.
     */
    public void setMessageEnquiryBlk(nz.co.cks.tms.xml.MessageEnquiryBlk messageEnquiryBlk)
    {
        this._messageEnquiryBlk = messageEnquiryBlk;
    } //-- void setMessageEnquiryBlk(nz.co.cks.tms.xml.MessageEnquiryBlk) 

    /**
     * Method setMessageReportBlkSets the value of field
     * 'messageReportBlk'.
     * 
     * @param messageReportBlk the value of field 'messageReportBlk'
     */
    public void setMessageReportBlk(nz.co.cks.tms.xml.MessageReportBlk messageReportBlk)
    {
        this._messageReportBlk = messageReportBlk;
    } //-- void setMessageReportBlk(nz.co.cks.tms.xml.MessageReportBlk) 

    /**
     * Method setMessageResponseBlkSets the value of field
     * 'messageResponseBlk'.
     * 
     * @param messageResponseBlk the value of field
     * 'messageResponseBlk'.
     */
    public void setMessageResponseBlk(nz.co.cks.tms.xml.MessageResponseBlk messageResponseBlk)
    {
        this._messageResponseBlk = messageResponseBlk;
    } //-- void setMessageResponseBlk(nz.co.cks.tms.xml.MessageResponseBlk) 

    /**
     * Method setMessageTransactionBlkSets the value of field
     * 'messageTransactionBlk'.
     * 
     * @param messageTransactionBlk the value of field
     * 'messageTransactionBlk'.
     */
    public void setMessageTransactionBlk(nz.co.cks.tms.xml.MessageTransactionBlk messageTransactionBlk)
    {
        this._messageTransactionBlk = messageTransactionBlk;
    } //-- void setMessageTransactionBlk(nz.co.cks.tms.xml.MessageTransactionBlk) 

    /**
     * Method unmarshal
     * 
     * @param reader
     */
    public static nz.co.cks.tms.xml.MessageTypeChoice unmarshal(java.io.Reader reader)
        throws org.exolab.castor.xml.MarshalException, org.exolab.castor.xml.ValidationException
    {
        return (nz.co.cks.tms.xml.MessageTypeChoice) Unmarshaller.unmarshal(nz.co.cks.tms.xml.MessageTypeChoice.class, reader);
    } //-- nz.co.cks.tms.xml.MessageTypeChoice 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() 

}
