/******************************************************************************* * Copyright 2012 Universidad Politécnica de Madrid * * 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.universAAL.ontology.disease.owl; import java.util.ArrayList; import java.util.List; import org.universAAL.middleware.owl.ManagedIndividual; public class Disease extends ManagedIndividual { public static final String MY_URI = DiseaseOntology.NAMESPACE + "Disease"; public static final String PROP_NAME = DiseaseOntology.NAMESPACE + "name"; public static final String PROP_SYMPTHOMS = DiseaseOntology.NAMESPACE + "sympthoms"; public static final String PROP_DISEASE_STATUS = DiseaseOntology.NAMESPACE + "diseaseStatus"; public static final String PROP_ETIOLOGY = DiseaseOntology.NAMESPACE + "etiology"; public static final String PROP_PATOGENY = DiseaseOntology.NAMESPACE + "patogeny"; public static final String PROP_EPIDEMIOLOGY = DiseaseOntology.NAMESPACE + "epidemiology"; public static final String PROP_CONTAGIOUS = DiseaseOntology.NAMESPACE + "contagious"; public static final String PROP_DIAGNOSTIC = DiseaseOntology.NAMESPACE + "diagnostic"; public static final String PROP_PRONOSTIC = DiseaseOntology.NAMESPACE + "pronostic"; public Disease() { super(); } public Disease(String uri) { super(uri); } public String getClassURI() { return MY_URI; } public int getPropSerializationType(String arg0) { return PROP_SERIALIZATION_FULL; } public boolean isWellFormed() { return true && props.containsKey(PROP_NAME) && props.containsKey(PROP_SYMPTHOMS) && props.containsKey(PROP_DISEASE_STATUS) && props.containsKey(PROP_ETIOLOGY) && props.containsKey(PROP_PATOGENY) && props.containsKey(PROP_EPIDEMIOLOGY) && props.containsKey(PROP_CONTAGIOUS) && props.containsKey(PROP_DIAGNOSTIC) && props.containsKey(PROP_PRONOSTIC); } // GETTERS AND SETTERS public String getDiseaseName() { return (String) props.get(PROP_NAME); } public void setAssociatedQuestion(String diseaseName) { if (diseaseName != null) props.put(PROP_NAME, diseaseName); } public DiseaseSeverityStatus getDiseaseStatus() { return (DiseaseSeverityStatus) props.get(PROP_DISEASE_STATUS); } public void setDiseaseStatus(DiseaseSeverityStatus diseaseStatus) { if (diseaseStatus != null) props.put(PROP_DISEASE_STATUS, diseaseStatus); } public Etiology getEtiology() { return (Etiology) props.get(PROP_ETIOLOGY); } public void setEtiology(Etiology etiology) { if (etiology != null) props.put(PROP_ETIOLOGY, etiology); } public Patogeny getPatogeny() { return (Patogeny) props.get(PROP_PATOGENY); } public void setPatogeny(Patogeny patogeny) { if (patogeny != null) props.put(PROP_PATOGENY, patogeny); } public Epidemiology getEpidemiology() { return (Epidemiology) props.get(PROP_EPIDEMIOLOGY); } public void setEpidemiology(Epidemiology epidemiology) { if (epidemiology != null) props.put(PROP_EPIDEMIOLOGY, epidemiology); } public Diagnostic getDiagnostic() { return (Diagnostic) props.get(PROP_DIAGNOSTIC); } public void setDiagnostic(Diagnostic diagnostic) { if (diagnostic != null) props.put(PROP_DIAGNOSTIC, diagnostic); } public Epidemiology getPronostic() { return (Epidemiology) props.get(PROP_EPIDEMIOLOGY); } public void setPronostic(Pronostic pronostic) { if (pronostic != null) props.put(PROP_EPIDEMIOLOGY, pronostic); } public boolean isContagious() { Boolean b = (Boolean) props.get(PROP_CONTAGIOUS); return (b == null) ? false : b.booleanValue(); } public void setIsContagious(Boolean isContagious) { props.put(PROP_CONTAGIOUS, isContagious); } public Sympthom[] getSympthoms() { Object propList = props.get(PROP_SYMPTHOMS); if (propList instanceof List) { return (Sympthom[]) ((List) propList).toArray(new Sympthom[0]); } else { List returnList = new ArrayList(); if (propList != null) returnList.add((Sympthom) propList); return (Sympthom[]) returnList.toArray(new Sympthom[0]); } } public void setSympthoms(Sympthom[] sympthoms) { List propList = new ArrayList(sympthoms.length); for (int i = 0; i < sympthoms.length; i++) { propList.add(sympthoms[i]); } props.put(PROP_SYMPTHOMS, propList); } public void addSympthom(Sympthom sympthom) { Object propList = props.get(PROP_SYMPTHOMS); if (propList instanceof List) { List list = (List) propList; list.add(sympthom); props.put(PROP_SYMPTHOMS, list); } else if (propList == null) { props.put(PROP_SYMPTHOMS, sympthom); } else { List list = new ArrayList(); list.add((Sympthom) propList); list.add(sympthom); props.put(PROP_SYMPTHOMS, list); } } }