org.drools.planner.examples.pas.domain.PatientAdmissionSchedule Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of drools-planner-examples Show documentation
Show all versions of drools-planner-examples Show documentation
Drools Planner optimizes automated planning by combining metaheuristic search algorithms with rule
engine powered score calculation. This is the drools-planner-examples module which contains examples on how to use
Drools Planner.
/*
* Copyright 2010 JBoss Inc
*
* Licensed under the Apache License, Version 2.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://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.drools.planner.examples.pas.domain;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Iterator;
import java.util.List;
import com.thoughtworks.xstream.annotations.XStreamAlias;
import org.apache.commons.lang.builder.HashCodeBuilder;
import org.drools.planner.api.domain.solution.PlanningEntityCollectionProperty;
import org.drools.planner.core.score.buildin.hardandsoft.HardAndSoftScore;
import org.drools.planner.core.solution.Solution;
import org.drools.planner.examples.common.domain.AbstractPersistable;
import org.drools.planner.examples.pas.domain.solver.AdmissionPartConflict;
@XStreamAlias("PatientAdmissionSchedule")
public class PatientAdmissionSchedule extends AbstractPersistable implements Solution {
private List specialismList;
private List equipmentList;
private List departmentList;
private List departmentSpecialismList;
private List roomList;
private List roomSpecialismList;
private List roomEquipmentList;
private List bedList;
private List nightList;
private List patientList;
private List admissionPartList;
private List requiredPatientEquipmentList;
private List preferredPatientEquipmentList;
private List bedDesignationList;
private HardAndSoftScore score;
public List getSpecialismList() {
return specialismList;
}
public void setSpecialismList(List specialismList) {
this.specialismList = specialismList;
}
public List getEquipmentList() {
return equipmentList;
}
public void setEquipmentList(List equipmentList) {
this.equipmentList = equipmentList;
}
public List getDepartmentList() {
return departmentList;
}
public void setDepartmentList(List departmentList) {
this.departmentList = departmentList;
}
public List getDepartmentSpecialismList() {
return departmentSpecialismList;
}
public void setDepartmentSpecialismList(List departmentSpecialismList) {
this.departmentSpecialismList = departmentSpecialismList;
}
public List getRoomList() {
return roomList;
}
public void setRoomList(List roomList) {
this.roomList = roomList;
}
public List getRoomSpecialismList() {
return roomSpecialismList;
}
public void setRoomSpecialismList(List roomSpecialismList) {
this.roomSpecialismList = roomSpecialismList;
}
public List getRoomEquipmentList() {
return roomEquipmentList;
}
public void setRoomEquipmentList(List roomEquipmentList) {
this.roomEquipmentList = roomEquipmentList;
}
public List getBedList() {
return bedList;
}
public void setBedList(List bedList) {
this.bedList = bedList;
}
public List getNightList() {
return nightList;
}
public void setNightList(List nightList) {
this.nightList = nightList;
}
public List getPatientList() {
return patientList;
}
public void setPatientList(List patientList) {
this.patientList = patientList;
}
public List getAdmissionPartList() {
return admissionPartList;
}
public void setAdmissionPartList(List admissionPartList) {
this.admissionPartList = admissionPartList;
}
public List getRequiredPatientEquipmentList() {
return requiredPatientEquipmentList;
}
public void setRequiredPatientEquipmentList(List requiredPatientEquipmentList) {
this.requiredPatientEquipmentList = requiredPatientEquipmentList;
}
public List getPreferredPatientEquipmentList() {
return preferredPatientEquipmentList;
}
public void setPreferredPatientEquipmentList(List preferredPatientEquipmentList) {
this.preferredPatientEquipmentList = preferredPatientEquipmentList;
}
@PlanningEntityCollectionProperty
public List getBedDesignationList() {
return bedDesignationList;
}
public void setBedDesignationList(List bedDesignationList) {
this.bedDesignationList = bedDesignationList;
}
public HardAndSoftScore getScore() {
return score;
}
public void setScore(HardAndSoftScore score) {
this.score = score;
}
// ************************************************************************
// Complex methods
// ************************************************************************
public Collection extends Object> getProblemFacts() {
List