/**
* The contents of this file are subject to the OpenMRS Public License
* Version 1.0 (the "License"); you may not use this file except in
* compliance with the License. You may obtain a copy of the License at
* http://license.openmrs.org
*
* Software distributed under the License is distributed on an "AS IS"
* basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the
* License for the specific language governing rights and limitations
* under the License.
*
* Copyright (C) OpenMRS, LLC. All Rights Reserved.
*/
package org.openmrs;
import java.util.Date;
/**
* In OpenMRS, we distinguish between data and metadata within our data model. Data (as opposed to
* metadata) generally represent person- or patient-specific data. This provides a default abstract
* implementation of the OpenmrsData interface
*
* @since 1.5
* @see OpenmrsData
*/
public abstract class BaseOpenmrsData extends BaseOpenmrsObject implements OpenmrsData {
//***** Properties *****
protected User creator;
private Date dateCreated;
private User changedBy;
private Date dateChanged;
private Boolean voided = Boolean.FALSE;
private Date dateVoided;
private User voidedBy;
private String voidReason;
//***** Constructors *****
/**
* Default Constructor
*/
public BaseOpenmrsData() {
}
//***** Property Access *****
/**
* @see org.openmrs.Auditable#getCreator()
*/
public User getCreator() {
return creator;
}
/**
* @see org.openmrs.Auditable#setCreator(org.openmrs.User)
*/
public void setCreator(User creator) {
this.creator = creator;
}
/**
* @see org.openmrs.Auditable#getDateCreated()
*/
public Date getDateCreated() {
return dateCreated;
}
/**
* @see org.openmrs.Auditable#setDateCreated(java.util.Date)
*/
public void setDateCreated(Date dateCreated) {
this.dateCreated = dateCreated;
}
/**
* @see org.openmrs.Auditable#getChangedBy()
*/
public User getChangedBy() {
return changedBy;
}
/**
* @see org.openmrs.Auditable#setChangedBy(org.openmrs.User)
*/
public void setChangedBy(User changedBy) {
this.changedBy = changedBy;
}
/**
* @see org.openmrs.Auditable#getDateChanged()
*/
public Date getDateChanged() {
return dateChanged;
}
/**
* @see org.openmrs.Auditable#setDateChanged(java.util.Date)
*/
public void setDateChanged(Date dateChanged) {
this.dateChanged = dateChanged;
}
/**
* @see org.openmrs.Voidable#isVoided()
*/
public Boolean isVoided() {
return voided;
}
/**
* This method delegates to {@link #isVoided()}. This is only needed for jstl syntax like
* ${person.voided} because the return type is a Boolean object instead of a boolean primitive
* type.
*
* @see org.openmrs.Voidable#isVoided()
*/
public Boolean getVoided() {
return isVoided();
}
/**
* @see org.openmrs.Voidable#setVoided(java.lang.Boolean)
*/
public void setVoided(Boolean voided) {
this.voided = voided;
}
/**
* @see org.openmrs.Voidable#getDateVoided()
*/
public Date getDateVoided() {
return dateVoided;
}
/**
* @see org.openmrs.Voidable#setDateVoided(java.util.Date)
*/
public void setDateVoided(Date dateVoided) {
this.dateVoided = dateVoided;
}
/**
* @see org.openmrs.Voidable#getVoidedBy()
*/
public User getVoidedBy() {
return voidedBy;
}
/**
* @see org.openmrs.Voidable#setVoidedBy(org.openmrs.User)
*/
public void setVoidedBy(User voidedBy) {
this.voidedBy = voidedBy;
}
/**
* @see org.openmrs.Voidable#getVoidReason()
*/
public String getVoidReason() {
return voidReason;
}
/**
* @see org.openmrs.Voidable#setVoidReason(java.lang.String)
*/
public void setVoidReason(String voidReason) {
this.voidReason = voidReason;
}
}