package org.beigesoft.persistable;

/*
 * Beigesoft ™
 *
 * Licensed under the Apache License, Version 2.0
 *
 * You may obtain a copy of the License at
 *
 * http://www.apache.org/licenses/LICENSE-2.0
 */

import org.beigesoft.model.IHasId;

/**
 * <p>Abstraction of base persistable model.
 * For improve performance purpose all ID is
 * triple of autogenerated explicit ID Long type
 * and two implicit(there is no database constraints for them)
 * ID for replication - int(DATABASE_NUMBER)+Long(ID FOREIGN)</p>
 *
 * @author Yury Demidenko
 */
public interface IPersistableBase extends IHasId<Long> {

  /**
   * <p>Geter for idDatabaseBirth.</p>
   * @return Integer
   **/
  Integer getIdDatabaseBirth();

  /**
   * <p>Setter for idDatabaseBirth.</p>
   * @param pIdDatabaseBirth reference
   **/
  void setIdDatabaseBirth(Integer pIdDatabaseBirth);

  /**
   * <p>Geter for idBirth.</p>
   * @return Long
   **/
  Long getIdBirth();

  /**
   * <p>Setter for idBirth.</p>
   * @param pIdBirth reference
   **/
  void setIdBirth(Long pIdBirth);
}
