package se.cambio.cds.gdl.model; import java.io.Serializable; import java.util.HashMap; import java.util.Map; public class TermDefinition implements Serializable{ /** * */ private static final long serialVersionUID = 1L; private String id; private Map<String, Term> terms; public TermDefinition() { } /** * @return the id */ public String getId() { return id; } /** * @param id * the id to set */ public void setId(String id) { this.id = id; } /** * @return the terms */ public Map<String, Term> getTerms() { if (terms == null) { terms = new HashMap<String, Term>(); } return terms; } public String getTermText(String gtCode){ Term term = getTerms().get(gtCode); String text = term != null ? term.getText() : null; return unescape(text); } public String getTermDescription(String gtCode){ Term term = getTerms().get(gtCode); String desc = term != null ? term.getDescription() : null; return unescape(desc); } private String unescape(String desc) { if (desc!=null){ return desc.replace("\\\"","\""); }else{ return ""; } } /** * @param terms * the terms to set */ public void setTerms(Map<String, Term> terms) { this.terms = terms; } /* * (non-Javadoc) * * @see java.lang.Object#hashCode() */ @Override public int hashCode() { final int prime = 31; int result = 1; result = prime * result + ((id == null) ? 0 : id.hashCode()); result = prime * result + ((terms == null) ? 0 : terms.hashCode()); return result; } /* * (non-Javadoc) * * @see java.lang.Object#equals(java.lang.Object) */ @Override public boolean equals(Object obj) { if (this == obj) return true; if (obj == null) return false; if (getClass() != obj.getClass()) return false; TermDefinition other = (TermDefinition) obj; if (id == null) { if (other.id != null) return false; } else if (!id.equals(other.id)) return false; if (terms == null) { if (other.terms != null) return false; } else if (!terms.equals(other.terms)) return false; return true; } } /* * ***** BEGIN LICENSE BLOCK ***** * Version: MPL 2.0/GPL 2.0/LGPL 2.1 * * The contents of this file are subject to the Mozilla Public 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.mozilla.org/MPL/ * * 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. * * * The Initial Developers of the Original Code are Iago Corbal and Rong Chen. * Portions created by the Initial Developer are Copyright (C) 2012-2013 * the Initial Developer. All Rights Reserved. * * Contributor(s): * * 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. * * ***** END LICENSE BLOCK ***** */