/** * This Source Code Form is subject to the terms of the Mozilla Public License, * v. 2.0. If a copy of the MPL was not distributed with this file, You can * obtain one at http://mozilla.org/MPL/2.0/. OpenMRS is also distributed under * the terms of the Healthcare Disclaimer located at http://openmrs.org/license. * * Copyright (C) OpenMRS Inc. OpenMRS is a registered trademark and the OpenMRS * graphic logo is a trademark of OpenMRS Inc. */ package org.openmrs; import java.util.Date; import org.openmrs.util.OpenmrsUtil; /** * This represents a single concept within a concept set. */ public class ConceptSet extends BaseOpenmrsObject implements Auditable, java.io.Serializable, Comparable<ConceptSet> { public static final long serialVersionUID = 3787L; // Fields private Integer conceptSetId; private Concept concept; // concept in the set private Concept conceptSet; // parent concept that uses this set private Double sortWeight; private User creator; private Date dateCreated; // Constructors /** default constructor */ public ConceptSet() { } public ConceptSet(Concept concept, Double weight) { setConcept(concept); setSortWeight(weight); } // Property accessors /** * Gets the concept set identifier. * * @return the concept set identifier */ public Integer getConceptSetId() { return conceptSetId; } /** * Sets the concept set identifier. * * @param conceptSetId The concept set identifier. */ public void setConceptSetId(Integer conceptSetId) { this.conceptSetId = conceptSetId; } public Concept getConcept() { return concept; } public void setConcept(Concept concept) { this.concept = concept; } public Concept getConceptSet() { return conceptSet; } public void setConceptSet(Concept set) { this.conceptSet = set; } /** * @return Returns the sortWeight. */ public Double getSortWeight() { return sortWeight; } /** * @param sortWeight The sortWeight to set. */ public void setSortWeight(Double sortWeight) { this.sortWeight = sortWeight; } /** * @return Returns the creator. */ @Override public User getCreator() { return creator; } /** * @param creator The creator to set. */ @Override public void setCreator(User creator) { this.creator = creator; } /** * @return Returns the dateCreated. */ @Override public Date getDateCreated() { return dateCreated; } /** * @param dateCreated The dateCreated to set. */ @Override public void setDateCreated(Date dateCreated) { this.dateCreated = dateCreated; } /** * @since 1.5 * @see org.openmrs.OpenmrsObject#getId() */ @Override public Integer getId() { return getConceptSetId(); } /** * @since 1.5 * @see org.openmrs.OpenmrsObject#setId(java.lang.Integer) */ @Override public void setId(Integer id) { this.setConceptSetId(id); } /** * Not currently used. Always returns null. * * @see org.openmrs.Auditable#getChangedBy() */ @Override public User getChangedBy() { return null; } /** * Not currently used. Always returns null. * * @see org.openmrs.Auditable#getDateChanged() */ @Override public Date getDateChanged() { return null; } /** * Not currently used. * * @see org.openmrs.Auditable#setChangedBy(org.openmrs.User) */ @Override public void setChangedBy(User changedBy) { } /** * Not currently used. * * @see org.openmrs.Auditable#setDateChanged(java.util.Date) */ @Override public void setDateChanged(Date dateChanged) { } /** * @see java.lang.Comparable#compareTo(java.lang.Object) * Note: this comparator imposes orderings that are inconsistent with equals. */ @Override @SuppressWarnings("squid:S1210") public int compareTo(ConceptSet cs) { int value = OpenmrsUtil.compareWithNullAsLowest(concept.getRetired(), cs.concept.getRetired()); if (value == 0) { value = OpenmrsUtil.compareWithNullAsLowest(this.getSortWeight(), cs.getSortWeight()); } return value; } }