/*L
 * Copyright Oracle inc, SAIC-F
 *
 * Distributed under the OSI-approved BSD 3-Clause License.
 * See http://ncip.github.com/cadsr-util/LICENSE.txt for details.
 */

package gov.nih.nci.ncicb.cadsr.common.persistence.bc4j;
import oracle.jbo.server.EntityImpl;
import oracle.jbo.server.EntityDefImpl;
import oracle.jbo.server.AttributeDefImpl;
import oracle.jbo.domain.Number;
import oracle.jbo.domain.Date;
import oracle.jbo.RowIterator;
import oracle.jbo.Key;
//  ---------------------------------------------------------------
//  ---    File generated by Oracle Business Components for Java.
//  ---------------------------------------------------------------

public class ProtocolImpl extends EntityImpl  {
  public static final int PROTOIDSEQ = 0;
  public static final int VERSION = 1;
  public static final int CONTEIDSEQ = 2;
  public static final int PREFERREDNAME = 3;
  public static final int PREFERREDDEFINITION = 4;
  public static final int ASLNAME = 5;
  public static final int LONGNAME = 6;
  public static final int LATESTVERSIONIND = 7;
  public static final int DELETEDIND = 8;
  public static final int BEGINDATE = 9;
  public static final int ENDDATE = 10;
  public static final int PROTOCOLID = 11;
  public static final int TYPE = 12;
  public static final int PHASE = 13;
  public static final int LEADORG = 14;
  public static final int CHANGETYPE = 15;
  public static final int CHANGENUMBER = 16;
  public static final int REVIEWEDDATE = 17;
  public static final int REVIEWEDBY = 18;
  public static final int APPROVEDDATE = 19;
  public static final int APPROVEDBY = 20;
  public static final int DATECREATED = 21;
  public static final int CREATEDBY = 22;
  public static final int DATEMODIFIED = 23;
  public static final int MODIFIEDBY = 24;
  public static final int CHANGENOTE = 25;
  public static final int ORIGIN = 26;
  public static final int PROTOID = 27;
  public static final int CONTEXTS = 28;
  public static final int QUESTCONTENTSEXT = 29;








  private static EntityDefImpl mDefinitionObject;

  /**
   * 
   * This is the default constructor (do not remove)
   */
  public ProtocolImpl() {
  }

  /**
   * 
   *  Retrieves the definition object for this instance class.
   */
  public static synchronized EntityDefImpl getDefinitionObject()
  {
    if (mDefinitionObject == null)
    {
      mDefinitionObject = (EntityDefImpl)EntityDefImpl.findDefObject("gov.nih.nci.ncicb.cadsr.common.persistence.bc4j.Protocol");
    }
    return mDefinitionObject;
  }









  /**
   * 
   * Gets the attribute value for ProtoIdseq, using the alias name ProtoIdseq
   */
  public String getProtoIdseq() {
    return (String)getAttributeInternal(PROTOIDSEQ);
  }

  /**
   * 
   * Sets <code>value</code> as the attribute value for ProtoIdseq
   */
  public void setProtoIdseq(String value) {
    setAttributeInternal(PROTOIDSEQ, value);
  }

  /**
   * 
   * Gets the attribute value for Version, using the alias name Version
   */
  public Number getVersion() {
    return (Number)getAttributeInternal(VERSION);
  }

  /**
   * 
   * Sets <code>value</code> as the attribute value for Version
   */
  public void setVersion(Number value) {
    setAttributeInternal(VERSION, value);
  }

  /**
   * 
   * Gets the attribute value for ConteIdseq, using the alias name ConteIdseq
   */
  public String getConteIdseq() {
    return (String)getAttributeInternal(CONTEIDSEQ);
  }

  /**
   * 
   * Sets <code>value</code> as the attribute value for ConteIdseq
   */
  public void setConteIdseq(String value) {
    setAttributeInternal(CONTEIDSEQ, value);
  }

  /**
   * 
   * Gets the attribute value for PreferredName, using the alias name PreferredName
   */
  public String getPreferredName() {
    return (String)getAttributeInternal(PREFERREDNAME);
  }

  /**
   * 
   * Sets <code>value</code> as the attribute value for PreferredName
   */
  public void setPreferredName(String value) {
    setAttributeInternal(PREFERREDNAME, value);
  }

  /**
   * 
   * Gets the attribute value for PreferredDefinition, using the alias name PreferredDefinition
   */
  public String getPreferredDefinition() {
    return (String)getAttributeInternal(PREFERREDDEFINITION);
  }

  /**
   * 
   * Sets <code>value</code> as the attribute value for PreferredDefinition
   */
  public void setPreferredDefinition(String value) {
    setAttributeInternal(PREFERREDDEFINITION, value);
  }

  /**
   * 
   * Gets the attribute value for AslName, using the alias name AslName
   */
  public String getAslName() {
    return (String)getAttributeInternal(ASLNAME);
  }

  /**
   * 
   * Sets <code>value</code> as the attribute value for AslName
   */
  public void setAslName(String value) {
    setAttributeInternal(ASLNAME, value);
  }

  /**
   * 
   * Gets the attribute value for LongName, using the alias name LongName
   */
  public String getLongName() {
    return (String)getAttributeInternal(LONGNAME);
  }

  /**
   * 
   * Sets <code>value</code> as the attribute value for LongName
   */
  public void setLongName(String value) {
    setAttributeInternal(LONGNAME, value);
  }

  /**
   * 
   * Gets the attribute value for LatestVersionInd, using the alias name LatestVersionInd
   */
  public String getLatestVersionInd() {
    return (String)getAttributeInternal(LATESTVERSIONIND);
  }

  /**
   * 
   * Sets <code>value</code> as the attribute value for LatestVersionInd
   */
  public void setLatestVersionInd(String value) {
    setAttributeInternal(LATESTVERSIONIND, value);
  }

  /**
   * 
   * Gets the attribute value for DeletedInd, using the alias name DeletedInd
   */
  public String getDeletedInd() {
    return (String)getAttributeInternal(DELETEDIND);
  }

  /**
   * 
   * Sets <code>value</code> as the attribute value for DeletedInd
   */
  public void setDeletedInd(String value) {
    setAttributeInternal(DELETEDIND, value);
  }

  /**
   * 
   * Gets the attribute value for BeginDate, using the alias name BeginDate
   */
  public Date getBeginDate() {
    return (Date)getAttributeInternal(BEGINDATE);
  }

  /**
   * 
   * Sets <code>value</code> as the attribute value for BeginDate
   */
  public void setBeginDate(Date value) {
    setAttributeInternal(BEGINDATE, value);
  }

  /**
   * 
   * Gets the attribute value for EndDate, using the alias name EndDate
   */
  public Date getEndDate() {
    return (Date)getAttributeInternal(ENDDATE);
  }

  /**
   * 
   * Sets <code>value</code> as the attribute value for EndDate
   */
  public void setEndDate(Date value) {
    setAttributeInternal(ENDDATE, value);
  }

  /**
   * 
   * Gets the attribute value for ProtocolId, using the alias name ProtocolId
   */
  public String getProtocolId() {
    return (String)getAttributeInternal(PROTOCOLID);
  }

  /**
   * 
   * Sets <code>value</code> as the attribute value for ProtocolId
   */
  public void setProtocolId(String value) {
    setAttributeInternal(PROTOCOLID, value);
  }

  /**
   * 
   * Gets the attribute value for Type, using the alias name Type
   */
  public String getType() {
    return (String)getAttributeInternal(TYPE);
  }

  /**
   * 
   * Sets <code>value</code> as the attribute value for Type
   */
  public void setType(String value) {
    setAttributeInternal(TYPE, value);
  }

  /**
   * 
   * Gets the attribute value for Phase, using the alias name Phase
   */
  public String getPhase() {
    return (String)getAttributeInternal(PHASE);
  }

  /**
   * 
   * Sets <code>value</code> as the attribute value for Phase
   */
  public void setPhase(String value) {
    setAttributeInternal(PHASE, value);
  }

  /**
   * 
   * Gets the attribute value for LeadOrg, using the alias name LeadOrg
   */
  public String getLeadOrg() {
    return (String)getAttributeInternal(LEADORG);
  }

  /**
   * 
   * Sets <code>value</code> as the attribute value for LeadOrg
   */
  public void setLeadOrg(String value) {
    setAttributeInternal(LEADORG, value);
  }

  /**
   * 
   * Gets the attribute value for ChangeType, using the alias name ChangeType
   */
  public String getChangeType() {
    return (String)getAttributeInternal(CHANGETYPE);
  }

  /**
   * 
   * Sets <code>value</code> as the attribute value for ChangeType
   */
  public void setChangeType(String value) {
    setAttributeInternal(CHANGETYPE, value);
  }

  /**
   * 
   * Gets the attribute value for ChangeNumber, using the alias name ChangeNumber
   */
  public Number getChangeNumber() {
    return (Number)getAttributeInternal(CHANGENUMBER);
  }

  /**
   * 
   * Sets <code>value</code> as the attribute value for ChangeNumber
   */
  public void setChangeNumber(Number value) {
    setAttributeInternal(CHANGENUMBER, value);
  }

  /**
   * 
   * Gets the attribute value for ReviewedDate, using the alias name ReviewedDate
   */
  public Date getReviewedDate() {
    return (Date)getAttributeInternal(REVIEWEDDATE);
  }

  /**
   * 
   * Sets <code>value</code> as the attribute value for ReviewedDate
   */
  public void setReviewedDate(Date value) {
    setAttributeInternal(REVIEWEDDATE, value);
  }

  /**
   * 
   * Gets the attribute value for ReviewedBy, using the alias name ReviewedBy
   */
  public String getReviewedBy() {
    return (String)getAttributeInternal(REVIEWEDBY);
  }

  /**
   * 
   * Sets <code>value</code> as the attribute value for ReviewedBy
   */
  public void setReviewedBy(String value) {
    setAttributeInternal(REVIEWEDBY, value);
  }

  /**
   * 
   * Gets the attribute value for ApprovedDate, using the alias name ApprovedDate
   */
  public Date getApprovedDate() {
    return (Date)getAttributeInternal(APPROVEDDATE);
  }

  /**
   * 
   * Sets <code>value</code> as the attribute value for ApprovedDate
   */
  public void setApprovedDate(Date value) {
    setAttributeInternal(APPROVEDDATE, value);
  }

  /**
   * 
   * Gets the attribute value for ApprovedBy, using the alias name ApprovedBy
   */
  public String getApprovedBy() {
    return (String)getAttributeInternal(APPROVEDBY);
  }

  /**
   * 
   * Sets <code>value</code> as the attribute value for ApprovedBy
   */
  public void setApprovedBy(String value) {
    setAttributeInternal(APPROVEDBY, value);
  }

  /**
   * 
   * Gets the attribute value for DateCreated, using the alias name DateCreated
   */
  public Date getDateCreated() {
    return (Date)getAttributeInternal(DATECREATED);
  }

  /**
   * 
   * Sets <code>value</code> as the attribute value for DateCreated
   */
  public void setDateCreated(Date value) {
    setAttributeInternal(DATECREATED, value);
  }

  /**
   * 
   * Gets the attribute value for CreatedBy, using the alias name CreatedBy
   */
  public String getCreatedBy() {
    return (String)getAttributeInternal(CREATEDBY);
  }

  /**
   * 
   * Sets <code>value</code> as the attribute value for CreatedBy
   */
  public void setCreatedBy(String value) {
    setAttributeInternal(CREATEDBY, value);
  }

  /**
   * 
   * Gets the attribute value for DateModified, using the alias name DateModified
   */
  public Date getDateModified() {
    return (Date)getAttributeInternal(DATEMODIFIED);
  }

  /**
   * 
   * Sets <code>value</code> as the attribute value for DateModified
   */
  public void setDateModified(Date value) {
    setAttributeInternal(DATEMODIFIED, value);
  }

  /**
   * 
   * Gets the attribute value for ModifiedBy, using the alias name ModifiedBy
   */
  public String getModifiedBy() {
    return (String)getAttributeInternal(MODIFIEDBY);
  }

  /**
   * 
   * Sets <code>value</code> as the attribute value for ModifiedBy
   */
  public void setModifiedBy(String value) {
    setAttributeInternal(MODIFIEDBY, value);
  }

  /**
   * 
   * Gets the attribute value for ChangeNote, using the alias name ChangeNote
   */
  public String getChangeNote() {
    return (String)getAttributeInternal(CHANGENOTE);
  }

  /**
   * 
   * Sets <code>value</code> as the attribute value for ChangeNote
   */
  public void setChangeNote(String value) {
    setAttributeInternal(CHANGENOTE, value);
  }
  //  Generated method. Do not modify.

  protected Object getAttrInvokeAccessor(int index, AttributeDefImpl attrDef) throws Exception {
    switch (index)
      {
      case PROTOIDSEQ:
        return getProtoIdseq();
      case VERSION:
        return getVersion();
      case CONTEIDSEQ:
        return getConteIdseq();
      case PREFERREDNAME:
        return getPreferredName();
      case PREFERREDDEFINITION:
        return getPreferredDefinition();
      case ASLNAME:
        return getAslName();
      case LONGNAME:
        return getLongName();
      case LATESTVERSIONIND:
        return getLatestVersionInd();
      case DELETEDIND:
        return getDeletedInd();
      case BEGINDATE:
        return getBeginDate();
      case ENDDATE:
        return getEndDate();
      case PROTOCOLID:
        return getProtocolId();
      case TYPE:
        return getType();
      case PHASE:
        return getPhase();
      case LEADORG:
        return getLeadOrg();
      case CHANGETYPE:
        return getChangeType();
      case CHANGENUMBER:
        return getChangeNumber();
      case REVIEWEDDATE:
        return getReviewedDate();
      case REVIEWEDBY:
        return getReviewedBy();
      case APPROVEDDATE:
        return getApprovedDate();
      case APPROVEDBY:
        return getApprovedBy();
      case DATECREATED:
        return getDateCreated();
      case CREATEDBY:
        return getCreatedBy();
      case DATEMODIFIED:
        return getDateModified();
      case MODIFIEDBY:
        return getModifiedBy();
      case CHANGENOTE:
        return getChangeNote();
      case ORIGIN:
        return getOrigin();
      case PROTOID:
        return getProtoId();
      case QUESTCONTENTSEXT:
        return getQuestContentsExt();
      case CONTEXTS:
        return getContexts();
      default:
        return super.getAttrInvokeAccessor(index, attrDef);
      }
  }
  //  Generated method. Do not modify.

  protected void setAttrInvokeAccessor(int index, Object value, AttributeDefImpl attrDef) throws Exception {
    switch (index)
      {
      case PROTOIDSEQ:
        setProtoIdseq((String)value);
        return;
      case VERSION:
        setVersion((Number)value);
        return;
      case CONTEIDSEQ:
        setConteIdseq((String)value);
        return;
      case PREFERREDNAME:
        setPreferredName((String)value);
        return;
      case PREFERREDDEFINITION:
        setPreferredDefinition((String)value);
        return;
      case ASLNAME:
        setAslName((String)value);
        return;
      case LONGNAME:
        setLongName((String)value);
        return;
      case LATESTVERSIONIND:
        setLatestVersionInd((String)value);
        return;
      case DELETEDIND:
        setDeletedInd((String)value);
        return;
      case BEGINDATE:
        setBeginDate((Date)value);
        return;
      case ENDDATE:
        setEndDate((Date)value);
        return;
      case PROTOCOLID:
        setProtocolId((String)value);
        return;
      case TYPE:
        setType((String)value);
        return;
      case PHASE:
        setPhase((String)value);
        return;
      case LEADORG:
        setLeadOrg((String)value);
        return;
      case CHANGETYPE:
        setChangeType((String)value);
        return;
      case CHANGENUMBER:
        setChangeNumber((Number)value);
        return;
      case REVIEWEDDATE:
        setReviewedDate((Date)value);
        return;
      case REVIEWEDBY:
        setReviewedBy((String)value);
        return;
      case APPROVEDDATE:
        setApprovedDate((Date)value);
        return;
      case APPROVEDBY:
        setApprovedBy((String)value);
        return;
      case DATECREATED:
        setDateCreated((Date)value);
        return;
      case CREATEDBY:
        setCreatedBy((String)value);
        return;
      case DATEMODIFIED:
        setDateModified((Date)value);
        return;
      case MODIFIEDBY:
        setModifiedBy((String)value);
        return;
      case CHANGENOTE:
        setChangeNote((String)value);
        return;
      case ORIGIN:
        setOrigin((String)value);
        return;
      case PROTOID:
        setProtoId((Number)value);
        return;
      default:
        super.setAttrInvokeAccessor(index, value, attrDef);
        return;
      }
  }

  /**
   * 
   * Gets the associated entity ContextsImpl
   */
  public ContextsImpl getContexts() {
    return (ContextsImpl)getAttributeInternal(CONTEXTS);
  }

  /**
   * 
   * Sets <code>value</code> as the associated entity ContextsImpl
   */
  public void setContexts(ContextsImpl value) {
    setAttributeInternal(CONTEXTS, value);
  }

  /**
   * 
   * Gets the associated entity oracle.jbo.RowIterator
   */
  public RowIterator getQuestContentsExt() {
    return (RowIterator)getAttributeInternal(QUESTCONTENTSEXT);
  }


  /**
   * 
   * Gets the attribute value for Origin, using the alias name Origin
   */
  public String getOrigin() {
    return (String)getAttributeInternal(ORIGIN);
  }

  /**
   * 
   * Sets <code>value</code> as the attribute value for Origin
   */
  public void setOrigin(String value) {
    setAttributeInternal(ORIGIN, value);
  }

  /**
   * 
   * Gets the attribute value for ProtoId, using the alias name ProtoId
   */
  public Number getProtoId() {
    return (Number)getAttributeInternal(PROTOID);
  }

  /**
   * 
   * Sets <code>value</code> as the attribute value for ProtoId
   */
  public void setProtoId(Number value) {
    setAttributeInternal(PROTOID, value);
  }

  /**
   * 
   *  Creates a Key object based on given key constituents
   */
  public static Key createPrimaryKey(String protoIdseq)
  {
    return new Key(new Object[] {protoIdseq});
  }








}