/** The Class SendToGroupEOImpl. */
public class SendToGroupEOImpl extends BaseEntityImpl {
  private static EntityDefImpl mDefinitionObject;

  /** AttributesEnum: generated enum for identifying attributes and accessors. Do not modify. */
  public enum AttributesEnum {
    Id {
      public Object get(SendToGroupEOImpl obj) {
        return obj.getId();
      }

      public void put(SendToGroupEOImpl obj, Object value) {
        obj.setId((Number) value);
      }
    },
    GroupName {
      public Object get(SendToGroupEOImpl obj) {
        return obj.getGroupName();
      }

      public void put(SendToGroupEOImpl obj, Object value) {
        obj.setGroupName((String) value);
      }
    },
    ResourceId {
      public Object get(SendToGroupEOImpl obj) {
        return obj.getResourceId();
      }

      public void put(SendToGroupEOImpl obj, Object value) {
        obj.setResourceId((Number) value);
      }
    },
    UserId {
      public Object get(SendToGroupEOImpl obj) {
        return obj.getUserId();
      }

      public void put(SendToGroupEOImpl obj, Object value) {
        obj.setAttributeInternal(index(), value);
      }
    },
    CreationDate {
      public Object get(SendToGroupEOImpl obj) {
        return obj.getCreationDate();
      }

      public void put(SendToGroupEOImpl obj, Object value) {
        obj.setAttributeInternal(index(), value);
      }
    },
    LastUpdatedBy {
      public Object get(SendToGroupEOImpl obj) {
        return obj.getLastUpdatedBy();
      }

      public void put(SendToGroupEOImpl obj, Object value) {
        obj.setAttributeInternal(index(), value);
      }
    },
    LastUpdateDate {
      public Object get(SendToGroupEOImpl obj) {
        return obj.getLastUpdateDate();
      }

      public void put(SendToGroupEOImpl obj, Object value) {
        obj.setAttributeInternal(index(), value);
      }
    },
    AlertsEO {
      public Object get(SendToGroupEOImpl obj) {
        return obj.getAlertsEO();
      }

      public void put(SendToGroupEOImpl obj, Object value) {
        obj.setAttributeInternal(index(), value);
      }
    },
    SendToGroupDetailEO {
      public Object get(SendToGroupEOImpl obj) {
        return obj.getSendToGroupDetailEO();
      }

      public void put(SendToGroupEOImpl obj, Object value) {
        obj.setAttributeInternal(index(), value);
      }
    },
    DocumentAndLinkEO {
      public Object get(SendToGroupEOImpl obj) {
        return obj.getDocumentAndLinkEO();
      }

      public void put(SendToGroupEOImpl obj, Object value) {
        obj.setDocumentAndLinkEO((DocumentAndLinkEOImpl) value);
      }
    },
    ResourceEO {
      public Object get(SendToGroupEOImpl obj) {
        return obj.getResourceEO();
      }

      public void put(SendToGroupEOImpl obj, Object value) {
        obj.setResourceEO((ResourceEOImpl) value);
      }
    };
    private static AttributesEnum[] vals = null;
    private static int firstIndex = 0;

    /**
     * Gets the.
     *
     * @param object the object
     * @return the object
     */
    public abstract Object get(SendToGroupEOImpl object);

    /**
     * Put.
     *
     * @param object the object
     * @param value the value
     */
    public abstract void put(SendToGroupEOImpl object, Object value);

    /**
     * Index.
     *
     * @return the int
     */
    public int index() {
      return AttributesEnum.firstIndex() + ordinal();
    }

    /**
     * First index.
     *
     * @return the int
     */
    public static int firstIndex() {
      return firstIndex;
    }

    /**
     * Count.
     *
     * @return the int
     */
    public static int count() {
      return AttributesEnum.firstIndex() + AttributesEnum.staticValues().length;
    }

    /**
     * Static values.
     *
     * @return the attributes enum[]
     */
    public static AttributesEnum[] staticValues() {
      if (vals == null) {
        vals = AttributesEnum.values();
      }
      return vals;
    }
  }

  public static final int ID = AttributesEnum.Id.index();
  public static final int GROUPNAME = AttributesEnum.GroupName.index();
  public static final int RESOURCEID = AttributesEnum.ResourceId.index();
  public static final int USERID = AttributesEnum.UserId.index();
  public static final int CREATIONDATE = AttributesEnum.CreationDate.index();
  public static final int LASTUPDATEDBY = AttributesEnum.LastUpdatedBy.index();
  public static final int LASTUPDATEDATE = AttributesEnum.LastUpdateDate.index();
  public static final int ALERTSEO = AttributesEnum.AlertsEO.index();
  public static final int SENDTOGROUPDETAILEO = AttributesEnum.SendToGroupDetailEO.index();
  public static final int DOCUMENTANDLINKEO = AttributesEnum.DocumentAndLinkEO.index();
  public static final int RESOURCEEO = AttributesEnum.ResourceEO.index();

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

  /**
   * Gets the definition object.
   *
   * @return the definition object for this instance class.
   */
  public static synchronized EntityDefImpl getDefinitionObject() {
    if (mDefinitionObject == null) {
      mDefinitionObject =
          EntityDefImpl.findDefObject("org.cap.oppe.admin.model.entity.resources.SendToGroupEO");
    }
    return mDefinitionObject;
  }

  /**
   * Gets the attribute value for Id, using the alias name Id.
   *
   * @return the Id
   */
  public Number getId() {
    return (Number) getAttributeInternal(ID);
  }

  /**
   * Sets <code>value</code> as the attribute value for Id.
   *
   * @param value value to set the Id
   */
  public void setId(Number value) {
    setAttributeInternal(ID, value);
  }

  /**
   * Gets the attribute value for GroupName, using the alias name GroupName.
   *
   * @return the GroupName
   */
  public String getGroupName() {
    return (String) getAttributeInternal(GROUPNAME);
  }

  /**
   * Sets <code>value</code> as the attribute value for GroupName.
   *
   * @param value value to set the GroupName
   */
  public void setGroupName(String value) {
    setAttributeInternal(GROUPNAME, value);
  }

  /**
   * Gets the attribute value for ResourceId, using the alias name ResourceId.
   *
   * @return the ResourceId
   */
  public Number getResourceId() {
    return (Number) getAttributeInternal(RESOURCEID);
  }

  /**
   * Sets <code>value</code> as the attribute value for ResourceId.
   *
   * @param value value to set the ResourceId
   */
  public void setResourceId(Number value) {
    setAttributeInternal(RESOURCEID, value);
  }

  /**
   * Gets the attribute value for UserId, using the alias name UserId.
   *
   * @return the UserId
   */
  public Number getUserId() {
    return (Number) getAttributeInternal(USERID);
  }

  /**
   * Gets the attribute value for CreationDate, using the alias name CreationDate.
   *
   * @return the CreationDate
   */
  public Date getCreationDate() {
    return (Date) getAttributeInternal(CREATIONDATE);
  }

  /**
   * Gets the attribute value for LastUpdatedBy, using the alias name LastUpdatedBy.
   *
   * @return the LastUpdatedBy
   */
  public Number getLastUpdatedBy() {
    return (Number) getAttributeInternal(LASTUPDATEDBY);
  }

  /**
   * Gets the attribute value for LastUpdateDate, using the alias name LastUpdateDate.
   *
   * @return the LastUpdateDate
   */
  public Timestamp getLastUpdateDate() {
    return (Timestamp) getAttributeInternal(LASTUPDATEDATE);
  }

  /**
   * getAttrInvokeAccessor: generated method. Do not modify.
   *
   * @param index the index identifying the attribute
   * @param attrDef the attribute
   * @return the attribute value
   * @throws Exception the exception
   */
  protected Object getAttrInvokeAccessor(int index, AttributeDefImpl attrDef) throws Exception {
    if ((index >= AttributesEnum.firstIndex()) && (index < AttributesEnum.count())) {
      return AttributesEnum.staticValues()[index - AttributesEnum.firstIndex()].get(this);
    }
    return super.getAttrInvokeAccessor(index, attrDef);
  }

  /**
   * setAttrInvokeAccessor: generated method. Do not modify.
   *
   * @param index the index identifying the attribute
   * @param value the value to assign to the attribute
   * @param attrDef the attribute
   * @throws Exception the exception
   */
  protected void setAttrInvokeAccessor(int index, Object value, AttributeDefImpl attrDef)
      throws Exception {
    if ((index >= AttributesEnum.firstIndex()) && (index < AttributesEnum.count())) {
      AttributesEnum.staticValues()[index - AttributesEnum.firstIndex()].put(this, value);
      return;
    }
    super.setAttrInvokeAccessor(index, value, attrDef);
  }

  /**
   * Gets the alerts eo.
   *
   * @return the associated entity oracle.jbo.RowIterator.
   */
  public RowIterator getAlertsEO() {
    return (RowIterator) getAttributeInternal(ALERTSEO);
  }

  /**
   * Gets the send to group detail eo.
   *
   * @return the associated entity oracle.jbo.RowIterator.
   */
  public RowIterator getSendToGroupDetailEO() {
    return (RowIterator) getAttributeInternal(SENDTOGROUPDETAILEO);
  }

  /**
   * Gets the document and link eo.
   *
   * @return the associated entity DocumentAndLinkEOImpl.
   */
  public DocumentAndLinkEOImpl getDocumentAndLinkEO() {
    return (DocumentAndLinkEOImpl) getAttributeInternal(DOCUMENTANDLINKEO);
  }

  /**
   * Sets <code>value</code> as the associated entity DocumentAndLinkEOImpl.
   *
   * @param value the new document and link eo
   */
  public void setDocumentAndLinkEO(DocumentAndLinkEOImpl value) {
    setAttributeInternal(DOCUMENTANDLINKEO, value);
  }

  /** @return the associated entity org.cap.oppe.common.model.entity.metrics.ResourceEOImpl. */
  public ResourceEOImpl getResourceEO() {
    return (ResourceEOImpl) getAttributeInternal(RESOURCEEO);
  }

  /**
   * Sets <code>value</code> as the associated entity
   * org.cap.oppe.common.model.entity.metrics.ResourceEOImpl.
   */
  public void setResourceEO(ResourceEOImpl value) {
    setAttributeInternal(RESOURCEEO, value);
  }

  /**
   * @param id key constituent
   * @return a Key object based on given key constituents.
   */
  public static Key createPrimaryKey(Number id) {
    return new Key(new Object[] {id});
  }

  /**
   * Add attribute defaulting logic in this method.
   *
   * @param attributeList list of attribute names/values to initialize the row
   */
  protected void create(AttributeList attributeList) {
    super.create(attributeList);
    SequenceImpl sequenceImpl = new SequenceImpl("CAP_SND_TO_GRP_S01", getDBTransaction());
    setId(sequenceImpl.getSequenceNumber());
  }

  /** This function gets the Id before posting chnages in db. */
  RowSet newGroupDetail = null;

  /**
   * Post changes.
   *
   * @param transactionEvent the transaction event
   */
  public void postChanges(TransactionEvent transactionEvent) {
    if (getPostState() == STATUS_NEW || getPostState() == STATUS_MODIFIED) {
      DocumentAndLinkEOImpl resources = getDocumentAndLinkEO();
      if (null != resources) {
        if (resources.getPostState() == STATUS_NEW) {
          resources.postChanges(transactionEvent);
        }
      }
      newGroupDetail = (RowSet) getSendToGroupDetailEO();
    }
    super.postChanges(transactionEvent);
  }

  /** This function refereshes foreign key dependencies with newly generated primary key. */
  protected void refreshFKInNewContainees() {
    if (null != newGroupDetail) {
      Number newGroupId = getId();
      while (newGroupDetail.hasNext()) {
        SendToGroupDetailEOImpl detail = (SendToGroupDetailEOImpl) newGroupDetail.next();
        detail.setSendToGroupId(newGroupId);
      }
      super.refreshFKInNewContainees();
    }
  }
}
// ---------------------------------------------------------------------
// ---    File generated by Oracle ADF Business Components Design Time.
// ---    Fri Sep 12 11:42:30 CST 2014
// ---    Custom code may be added to this class.
// ---    Warning: Do not modify method signatures of generated methods.
// ---------------------------------------------------------------------
public class CmsBookExportHtmlTEOImpl extends CustomEntityImpl {
  /** AttributesEnum: generated enum for identifying attributes and accessors. Do not modify. */
  public enum AttributesEnum {
    ExportId {
      public Object get(CmsBookExportHtmlTEOImpl obj) {
        return obj.getExportId();
      }

      public void put(CmsBookExportHtmlTEOImpl obj, Object value) {
        obj.setExportId((Number) value);
      }
    },
    DocId {
      public Object get(CmsBookExportHtmlTEOImpl obj) {
        return obj.getDocId();
      }

      public void put(CmsBookExportHtmlTEOImpl obj, Object value) {
        obj.setDocId((Number) value);
      }
    },
    ExportTheme {
      public Object get(CmsBookExportHtmlTEOImpl obj) {
        return obj.getExportTheme();
      }

      public void put(CmsBookExportHtmlTEOImpl obj, Object value) {
        obj.setExportTheme((String) value);
      }
    },
    CategoryLevel {
      public Object get(CmsBookExportHtmlTEOImpl obj) {
        return obj.getCategoryLevel();
      }

      public void put(CmsBookExportHtmlTEOImpl obj, Object value) {
        obj.setCategoryLevel((String) value);
      }
    },
    ExportReason {
      public Object get(CmsBookExportHtmlTEOImpl obj) {
        return obj.getExportReason();
      }

      public void put(CmsBookExportHtmlTEOImpl obj, Object value) {
        obj.setExportReason((String) value);
      }
    },
    Remarks {
      public Object get(CmsBookExportHtmlTEOImpl obj) {
        return obj.getRemarks();
      }

      public void put(CmsBookExportHtmlTEOImpl obj, Object value) {
        obj.setRemarks((String) value);
      }
    },
    ObjectVersionNumber {
      public Object get(CmsBookExportHtmlTEOImpl obj) {
        return obj.getObjectVersionNumber();
      }

      public void put(CmsBookExportHtmlTEOImpl obj, Object value) {
        obj.setAttributeInternal(index(), value);
      }
    },
    CreatedBy {
      public Object get(CmsBookExportHtmlTEOImpl obj) {
        return obj.getCreatedBy();
      }

      public void put(CmsBookExportHtmlTEOImpl obj, Object value) {
        obj.setCreatedBy((Number) value);
      }
    },
    CreationDate {
      public Object get(CmsBookExportHtmlTEOImpl obj) {
        return obj.getCreationDate();
      }

      public void put(CmsBookExportHtmlTEOImpl obj, Object value) {
        obj.setCreationDate((Date) value);
      }
    },
    LastUpdatedBy {
      public Object get(CmsBookExportHtmlTEOImpl obj) {
        return obj.getLastUpdatedBy();
      }

      public void put(CmsBookExportHtmlTEOImpl obj, Object value) {
        obj.setLastUpdatedBy((Number) value);
      }
    },
    LastUpdateDate {
      public Object get(CmsBookExportHtmlTEOImpl obj) {
        return obj.getLastUpdateDate();
      }

      public void put(CmsBookExportHtmlTEOImpl obj, Object value) {
        obj.setLastUpdateDate((Date) value);
      }
    },
    Attribute1 {
      public Object get(CmsBookExportHtmlTEOImpl obj) {
        return obj.getAttribute1();
      }

      public void put(CmsBookExportHtmlTEOImpl obj, Object value) {
        obj.setAttribute1((String) value);
      }
    },
    Attribute2 {
      public Object get(CmsBookExportHtmlTEOImpl obj) {
        return obj.getAttribute2();
      }

      public void put(CmsBookExportHtmlTEOImpl obj, Object value) {
        obj.setAttribute2((String) value);
      }
    },
    Attribute3 {
      public Object get(CmsBookExportHtmlTEOImpl obj) {
        return obj.getAttribute3();
      }

      public void put(CmsBookExportHtmlTEOImpl obj, Object value) {
        obj.setAttribute3((String) value);
      }
    },
    Attribute4 {
      public Object get(CmsBookExportHtmlTEOImpl obj) {
        return obj.getAttribute4();
      }

      public void put(CmsBookExportHtmlTEOImpl obj, Object value) {
        obj.setAttribute4((String) value);
      }
    },
    Attribute5 {
      public Object get(CmsBookExportHtmlTEOImpl obj) {
        return obj.getAttribute5();
      }

      public void put(CmsBookExportHtmlTEOImpl obj, Object value) {
        obj.setAttribute5((String) value);
      }
    },
    Attribute6 {
      public Object get(CmsBookExportHtmlTEOImpl obj) {
        return obj.getAttribute6();
      }

      public void put(CmsBookExportHtmlTEOImpl obj, Object value) {
        obj.setAttribute6((String) value);
      }
    },
    Attribute7 {
      public Object get(CmsBookExportHtmlTEOImpl obj) {
        return obj.getAttribute7();
      }

      public void put(CmsBookExportHtmlTEOImpl obj, Object value) {
        obj.setAttribute7((String) value);
      }
    },
    Attribute8 {
      public Object get(CmsBookExportHtmlTEOImpl obj) {
        return obj.getAttribute8();
      }

      public void put(CmsBookExportHtmlTEOImpl obj, Object value) {
        obj.setAttribute8((String) value);
      }
    },
    Attribute9 {
      public Object get(CmsBookExportHtmlTEOImpl obj) {
        return obj.getAttribute9();
      }

      public void put(CmsBookExportHtmlTEOImpl obj, Object value) {
        obj.setAttribute9((String) value);
      }
    },
    Attribute10 {
      public Object get(CmsBookExportHtmlTEOImpl obj) {
        return obj.getAttribute10();
      }

      public void put(CmsBookExportHtmlTEOImpl obj, Object value) {
        obj.setAttribute10((String) value);
      }
    },
    Attribute11 {
      public Object get(CmsBookExportHtmlTEOImpl obj) {
        return obj.getAttribute11();
      }

      public void put(CmsBookExportHtmlTEOImpl obj, Object value) {
        obj.setAttribute11((String) value);
      }
    },
    Attribute12 {
      public Object get(CmsBookExportHtmlTEOImpl obj) {
        return obj.getAttribute12();
      }

      public void put(CmsBookExportHtmlTEOImpl obj, Object value) {
        obj.setAttribute12((String) value);
      }
    },
    Attribute13 {
      public Object get(CmsBookExportHtmlTEOImpl obj) {
        return obj.getAttribute13();
      }

      public void put(CmsBookExportHtmlTEOImpl obj, Object value) {
        obj.setAttribute13((String) value);
      }
    },
    Attribute14 {
      public Object get(CmsBookExportHtmlTEOImpl obj) {
        return obj.getAttribute14();
      }

      public void put(CmsBookExportHtmlTEOImpl obj, Object value) {
        obj.setAttribute14((String) value);
      }
    },
    Attribute15 {
      public Object get(CmsBookExportHtmlTEOImpl obj) {
        return obj.getAttribute15();
      }

      public void put(CmsBookExportHtmlTEOImpl obj, Object value) {
        obj.setAttribute15((String) value);
      }
    };
    private static AttributesEnum[] vals = null;
    private static int firstIndex = 0;

    public abstract Object get(CmsBookExportHtmlTEOImpl object);

    public abstract void put(CmsBookExportHtmlTEOImpl object, Object value);

    public int index() {
      return AttributesEnum.firstIndex() + ordinal();
    }

    public static int firstIndex() {
      return firstIndex;
    }

    public static int count() {
      return AttributesEnum.firstIndex() + AttributesEnum.staticValues().length;
    }

    public static AttributesEnum[] staticValues() {
      if (vals == null) {
        vals = AttributesEnum.values();
      }
      return vals;
    }
  }

  public static final int EXPORTID = AttributesEnum.ExportId.index();
  public static final int DOCID = AttributesEnum.DocId.index();
  public static final int EXPORTTHEME = AttributesEnum.ExportTheme.index();
  public static final int CATEGORYLEVEL = AttributesEnum.CategoryLevel.index();
  public static final int EXPORTREASON = AttributesEnum.ExportReason.index();
  public static final int REMARKS = AttributesEnum.Remarks.index();
  public static final int OBJECTVERSIONNUMBER = AttributesEnum.ObjectVersionNumber.index();
  public static final int CREATEDBY = AttributesEnum.CreatedBy.index();
  public static final int CREATIONDATE = AttributesEnum.CreationDate.index();
  public static final int LASTUPDATEDBY = AttributesEnum.LastUpdatedBy.index();
  public static final int LASTUPDATEDATE = AttributesEnum.LastUpdateDate.index();
  public static final int ATTRIBUTE1 = AttributesEnum.Attribute1.index();
  public static final int ATTRIBUTE2 = AttributesEnum.Attribute2.index();
  public static final int ATTRIBUTE3 = AttributesEnum.Attribute3.index();
  public static final int ATTRIBUTE4 = AttributesEnum.Attribute4.index();
  public static final int ATTRIBUTE5 = AttributesEnum.Attribute5.index();
  public static final int ATTRIBUTE6 = AttributesEnum.Attribute6.index();
  public static final int ATTRIBUTE7 = AttributesEnum.Attribute7.index();
  public static final int ATTRIBUTE8 = AttributesEnum.Attribute8.index();
  public static final int ATTRIBUTE9 = AttributesEnum.Attribute9.index();
  public static final int ATTRIBUTE10 = AttributesEnum.Attribute10.index();
  public static final int ATTRIBUTE11 = AttributesEnum.Attribute11.index();
  public static final int ATTRIBUTE12 = AttributesEnum.Attribute12.index();
  public static final int ATTRIBUTE13 = AttributesEnum.Attribute13.index();
  public static final int ATTRIBUTE14 = AttributesEnum.Attribute14.index();
  public static final int ATTRIBUTE15 = AttributesEnum.Attribute15.index();

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

  /** @return the definition object for this instance class. */
  public static synchronized EntityDefImpl getDefinitionObject() {
    return EntityDefImpl.findDefObject("com.zypg.cms.work.model.entity.CmsBookExportHtmlTEO");
  }

  /**
   * Gets the attribute value for ExportId, using the alias name ExportId.
   *
   * @return the value of ExportId
   */
  public Number getExportId() {
    return (Number) getAttributeInternal(EXPORTID);
  }

  /**
   * Sets <code>value</code> as the attribute value for ExportId.
   *
   * @param value value to set the ExportId
   */
  public void setExportId(Number value) {
    setAttributeInternal(EXPORTID, value);
  }

  /**
   * Gets the attribute value for DocId, using the alias name DocId.
   *
   * @return the value of DocId
   */
  public Number getDocId() {
    return (Number) getAttributeInternal(DOCID);
  }

  /**
   * Sets <code>value</code> as the attribute value for DocId.
   *
   * @param value value to set the DocId
   */
  public void setDocId(Number value) {
    setAttributeInternal(DOCID, value);
  }

  /**
   * Gets the attribute value for ExportTheme, using the alias name ExportTheme.
   *
   * @return the value of ExportTheme
   */
  public String getExportTheme() {
    return (String) getAttributeInternal(EXPORTTHEME);
  }

  /**
   * Sets <code>value</code> as the attribute value for ExportTheme.
   *
   * @param value value to set the ExportTheme
   */
  public void setExportTheme(String value) {
    setAttributeInternal(EXPORTTHEME, value);
  }

  /**
   * Gets the attribute value for CategoryLevel, using the alias name CategoryLevel.
   *
   * @return the value of CategoryLevel
   */
  public String getCategoryLevel() {
    return (String) getAttributeInternal(CATEGORYLEVEL);
  }

  /**
   * Sets <code>value</code> as the attribute value for CategoryLevel.
   *
   * @param value value to set the CategoryLevel
   */
  public void setCategoryLevel(String value) {
    setAttributeInternal(CATEGORYLEVEL, value);
  }

  /**
   * Gets the attribute value for ExportReason, using the alias name ExportReason.
   *
   * @return the value of ExportReason
   */
  public String getExportReason() {
    return (String) getAttributeInternal(EXPORTREASON);
  }

  /**
   * Sets <code>value</code> as the attribute value for ExportReason.
   *
   * @param value value to set the ExportReason
   */
  public void setExportReason(String value) {
    setAttributeInternal(EXPORTREASON, value);
  }

  /**
   * Gets the attribute value for Remarks, using the alias name Remarks.
   *
   * @return the value of Remarks
   */
  public String getRemarks() {
    return (String) getAttributeInternal(REMARKS);
  }

  /**
   * Sets <code>value</code> as the attribute value for Remarks.
   *
   * @param value value to set the Remarks
   */
  public void setRemarks(String value) {
    setAttributeInternal(REMARKS, value);
  }

  /**
   * Gets the attribute value for ObjectVersionNumber, using the alias name ObjectVersionNumber.
   *
   * @return the value of ObjectVersionNumber
   */
  public Number getObjectVersionNumber() {
    return (Number) getAttributeInternal(OBJECTVERSIONNUMBER);
  }

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

  /**
   * Sets <code>value</code> as the attribute value for CreatedBy.
   *
   * @param value value to set the CreatedBy
   */
  public void setCreatedBy(Number value) {
    setAttributeInternal(CREATEDBY, value);
  }

  /**
   * Gets the attribute value for CreationDate, using the alias name CreationDate.
   *
   * @return the value of CreationDate
   */
  public Date getCreationDate() {
    return (Date) getAttributeInternal(CREATIONDATE);
  }

  /**
   * Sets <code>value</code> as the attribute value for CreationDate.
   *
   * @param value value to set the CreationDate
   */
  public void setCreationDate(Date value) {
    setAttributeInternal(CREATIONDATE, value);
  }

  /**
   * Gets the attribute value for LastUpdatedBy, using the alias name LastUpdatedBy.
   *
   * @return the value of LastUpdatedBy
   */
  public Number getLastUpdatedBy() {
    return (Number) getAttributeInternal(LASTUPDATEDBY);
  }

  /**
   * Sets <code>value</code> as the attribute value for LastUpdatedBy.
   *
   * @param value value to set the LastUpdatedBy
   */
  public void setLastUpdatedBy(Number value) {
    setAttributeInternal(LASTUPDATEDBY, value);
  }

  /**
   * Gets the attribute value for LastUpdateDate, using the alias name LastUpdateDate.
   *
   * @return the value of LastUpdateDate
   */
  public Date getLastUpdateDate() {
    return (Date) getAttributeInternal(LASTUPDATEDATE);
  }

  /**
   * Sets <code>value</code> as the attribute value for LastUpdateDate.
   *
   * @param value value to set the LastUpdateDate
   */
  public void setLastUpdateDate(Date value) {
    setAttributeInternal(LASTUPDATEDATE, value);
  }

  /**
   * Gets the attribute value for Attribute1, using the alias name Attribute1.
   *
   * @return the value of Attribute1
   */
  public String getAttribute1() {
    return (String) getAttributeInternal(ATTRIBUTE1);
  }

  /**
   * Sets <code>value</code> as the attribute value for Attribute1.
   *
   * @param value value to set the Attribute1
   */
  public void setAttribute1(String value) {
    setAttributeInternal(ATTRIBUTE1, value);
  }

  /**
   * Gets the attribute value for Attribute2, using the alias name Attribute2.
   *
   * @return the value of Attribute2
   */
  public String getAttribute2() {
    return (String) getAttributeInternal(ATTRIBUTE2);
  }

  /**
   * Sets <code>value</code> as the attribute value for Attribute2.
   *
   * @param value value to set the Attribute2
   */
  public void setAttribute2(String value) {
    setAttributeInternal(ATTRIBUTE2, value);
  }

  /**
   * Gets the attribute value for Attribute3, using the alias name Attribute3.
   *
   * @return the value of Attribute3
   */
  public String getAttribute3() {
    return (String) getAttributeInternal(ATTRIBUTE3);
  }

  /**
   * Sets <code>value</code> as the attribute value for Attribute3.
   *
   * @param value value to set the Attribute3
   */
  public void setAttribute3(String value) {
    setAttributeInternal(ATTRIBUTE3, value);
  }

  /**
   * Gets the attribute value for Attribute4, using the alias name Attribute4.
   *
   * @return the value of Attribute4
   */
  public String getAttribute4() {
    return (String) getAttributeInternal(ATTRIBUTE4);
  }

  /**
   * Sets <code>value</code> as the attribute value for Attribute4.
   *
   * @param value value to set the Attribute4
   */
  public void setAttribute4(String value) {
    setAttributeInternal(ATTRIBUTE4, value);
  }

  /**
   * Gets the attribute value for Attribute5, using the alias name Attribute5.
   *
   * @return the value of Attribute5
   */
  public String getAttribute5() {
    return (String) getAttributeInternal(ATTRIBUTE5);
  }

  /**
   * Sets <code>value</code> as the attribute value for Attribute5.
   *
   * @param value value to set the Attribute5
   */
  public void setAttribute5(String value) {
    setAttributeInternal(ATTRIBUTE5, value);
  }

  /**
   * Gets the attribute value for Attribute6, using the alias name Attribute6.
   *
   * @return the value of Attribute6
   */
  public String getAttribute6() {
    return (String) getAttributeInternal(ATTRIBUTE6);
  }

  /**
   * Sets <code>value</code> as the attribute value for Attribute6.
   *
   * @param value value to set the Attribute6
   */
  public void setAttribute6(String value) {
    setAttributeInternal(ATTRIBUTE6, value);
  }

  /**
   * Gets the attribute value for Attribute7, using the alias name Attribute7.
   *
   * @return the value of Attribute7
   */
  public String getAttribute7() {
    return (String) getAttributeInternal(ATTRIBUTE7);
  }

  /**
   * Sets <code>value</code> as the attribute value for Attribute7.
   *
   * @param value value to set the Attribute7
   */
  public void setAttribute7(String value) {
    setAttributeInternal(ATTRIBUTE7, value);
  }

  /**
   * Gets the attribute value for Attribute8, using the alias name Attribute8.
   *
   * @return the value of Attribute8
   */
  public String getAttribute8() {
    return (String) getAttributeInternal(ATTRIBUTE8);
  }

  /**
   * Sets <code>value</code> as the attribute value for Attribute8.
   *
   * @param value value to set the Attribute8
   */
  public void setAttribute8(String value) {
    setAttributeInternal(ATTRIBUTE8, value);
  }

  /**
   * Gets the attribute value for Attribute9, using the alias name Attribute9.
   *
   * @return the value of Attribute9
   */
  public String getAttribute9() {
    return (String) getAttributeInternal(ATTRIBUTE9);
  }

  /**
   * Sets <code>value</code> as the attribute value for Attribute9.
   *
   * @param value value to set the Attribute9
   */
  public void setAttribute9(String value) {
    setAttributeInternal(ATTRIBUTE9, value);
  }

  /**
   * Gets the attribute value for Attribute10, using the alias name Attribute10.
   *
   * @return the value of Attribute10
   */
  public String getAttribute10() {
    return (String) getAttributeInternal(ATTRIBUTE10);
  }

  /**
   * Sets <code>value</code> as the attribute value for Attribute10.
   *
   * @param value value to set the Attribute10
   */
  public void setAttribute10(String value) {
    setAttributeInternal(ATTRIBUTE10, value);
  }

  /**
   * Gets the attribute value for Attribute11, using the alias name Attribute11.
   *
   * @return the value of Attribute11
   */
  public String getAttribute11() {
    return (String) getAttributeInternal(ATTRIBUTE11);
  }

  /**
   * Sets <code>value</code> as the attribute value for Attribute11.
   *
   * @param value value to set the Attribute11
   */
  public void setAttribute11(String value) {
    setAttributeInternal(ATTRIBUTE11, value);
  }

  /**
   * Gets the attribute value for Attribute12, using the alias name Attribute12.
   *
   * @return the value of Attribute12
   */
  public String getAttribute12() {
    return (String) getAttributeInternal(ATTRIBUTE12);
  }

  /**
   * Sets <code>value</code> as the attribute value for Attribute12.
   *
   * @param value value to set the Attribute12
   */
  public void setAttribute12(String value) {
    setAttributeInternal(ATTRIBUTE12, value);
  }

  /**
   * Gets the attribute value for Attribute13, using the alias name Attribute13.
   *
   * @return the value of Attribute13
   */
  public String getAttribute13() {
    return (String) getAttributeInternal(ATTRIBUTE13);
  }

  /**
   * Sets <code>value</code> as the attribute value for Attribute13.
   *
   * @param value value to set the Attribute13
   */
  public void setAttribute13(String value) {
    setAttributeInternal(ATTRIBUTE13, value);
  }

  /**
   * Gets the attribute value for Attribute14, using the alias name Attribute14.
   *
   * @return the value of Attribute14
   */
  public String getAttribute14() {
    return (String) getAttributeInternal(ATTRIBUTE14);
  }

  /**
   * Sets <code>value</code> as the attribute value for Attribute14.
   *
   * @param value value to set the Attribute14
   */
  public void setAttribute14(String value) {
    setAttributeInternal(ATTRIBUTE14, value);
  }

  /**
   * Gets the attribute value for Attribute15, using the alias name Attribute15.
   *
   * @return the value of Attribute15
   */
  public String getAttribute15() {
    return (String) getAttributeInternal(ATTRIBUTE15);
  }

  /**
   * Sets <code>value</code> as the attribute value for Attribute15.
   *
   * @param value value to set the Attribute15
   */
  public void setAttribute15(String value) {
    setAttributeInternal(ATTRIBUTE15, value);
  }

  /**
   * getAttrInvokeAccessor: generated method. Do not modify.
   *
   * @param index the index identifying the attribute
   * @param attrDef the attribute
   * @return the attribute value
   * @throws Exception
   */
  protected Object getAttrInvokeAccessor(int index, AttributeDefImpl attrDef) throws Exception {
    if ((index >= AttributesEnum.firstIndex()) && (index < AttributesEnum.count())) {
      return AttributesEnum.staticValues()[index - AttributesEnum.firstIndex()].get(this);
    }
    return super.getAttrInvokeAccessor(index, attrDef);
  }

  /**
   * setAttrInvokeAccessor: generated method. Do not modify.
   *
   * @param index the index identifying the attribute
   * @param value the value to assign to the attribute
   * @param attrDef the attribute
   * @throws Exception
   */
  protected void setAttrInvokeAccessor(int index, Object value, AttributeDefImpl attrDef)
      throws Exception {
    if ((index >= AttributesEnum.firstIndex()) && (index < AttributesEnum.count())) {
      AttributesEnum.staticValues()[index - AttributesEnum.firstIndex()].put(this, value);
      return;
    }
    super.setAttrInvokeAccessor(index, value, attrDef);
  }

  /**
   * @param exportId key constituent
   * @return a Key object based on given key constituents.
   */
  public static Key createPrimaryKey(Number exportId) {
    return new Key(new Object[] {exportId});
  }

  /**
   * Add attribute defaulting logic in this method.
   *
   * @param attributeList list of attribute names/values to initialize the row
   */
  protected void create(AttributeList attributeList) {
    super.create(attributeList);
    SequenceImpl si = new SequenceImpl("cms_book_export_html_s", this.getDBTransaction());
    this.setExportId(si.getSequenceNumber());
  }
}