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

package org.castor.test.entity;

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

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

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


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

  /**
   * Field _id.
   */
  private String _id;

  /**
   * Field _idref.
   */
  private Object _idref;

  /**
   * Field _name.
   */
  private String _name;


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

  public AuthorType() {
    super();
  }


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

  /**
   * Returns the value of field 'id'.
   *
   * @return the value of field 'Id'.
   */
  public String getId() {
    return this._id;
  }

  /**
   * Returns the value of field 'idref'.
   *
   * @return the value of field 'Idref'.
   */
  public Object getIdref() {
    return this._idref;
  }

  /**
   * Returns the value of field 'name'.
   *
   * @return the value of field 'Name'.
   */
  public String getName() {
    return this._name;
  }

  /**
   * Method isValid.
   *
   * @return true if this object is valid according to the schema
   */
  public boolean isValid() {
    try {
      validate();
    } catch (org.exolab.castor.xml.ValidationException vex) {
      return false;
    }
    return true;
  }

  /**
   *
   *
   * @param out
   * @throws org.exolab.castor.xml.MarshalException if object is null or if any SAXException is
   *         thrown during marshaling
   * @throws org.exolab.castor.xml.ValidationException if this object is an invalid instance
   *         according to the schema
   */
  public void marshal(final java.io.Writer out)
      throws org.exolab.castor.xml.MarshalException, org.exolab.castor.xml.ValidationException {
    Marshaller.marshal(this, out);
  }

  /**
   *
   *
   * @param handler
   * @throws java.io.IOException if an IOException occurs during marshaling
   * @throws org.exolab.castor.xml.ValidationException if this object is an invalid instance
   *         according to the schema
   * @throws org.exolab.castor.xml.MarshalException if object is null or if any SAXException is
   *         thrown during marshaling
   */
  public void marshal(final org.xml.sax.ContentHandler handler) throws java.io.IOException,
      org.exolab.castor.xml.MarshalException, org.exolab.castor.xml.ValidationException {
    Marshaller.marshal(this, handler);
  }

  /**
   * Sets the value of field 'id'.
   *
   * @param id the value of field 'id'.
   */
  public void setId(final String id) {
    this._id = id;
  }

  /**
   * Sets the value of field 'idref'.
   *
   * @param idref the value of field 'idref'.
   */
  public void setIdref(final Object idref) {
    this._idref = idref;
  }

  /**
   * Sets the value of field 'name'.
   *
   * @param name the value of field 'name'.
   */
  public void setName(final String name) {
    this._name = name;
  }

  /**
   * Method unmarshal.
   * 
   * @param reader
   * @throws org.exolab.castor.xml.MarshalException if object is null or if any SAXException is
   *         thrown during marshaling
   * @throws org.exolab.castor.xml.ValidationException if this object is an invalid instance
   *         according to the schema
   * @return the unmarshaled org.castor.test.entity.AuthorType
   */
  public static org.castor.test.entity.AuthorType unmarshal(final java.io.Reader reader)
      throws org.exolab.castor.xml.MarshalException, org.exolab.castor.xml.ValidationException {
    return (org.castor.test.entity.AuthorType) Unmarshaller
        .unmarshal(org.castor.test.entity.AuthorType.class, reader);
  }

  /**
   * 
   * 
   * @throws org.exolab.castor.xml.ValidationException if this object is an invalid instance
   *         according to the schema
   */
  public void validate() throws org.exolab.castor.xml.ValidationException {
    org.exolab.castor.xml.Validator validator = new org.exolab.castor.xml.Validator();
    validator.validate(this);
  }

}
