/* * Geotoolkit - An Open Source Java GIS Toolkit * http://www.geotoolkit.org * * (C) 2008 - 2009, Geomatys * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public * License as published by the Free Software Foundation; either * version 2.1 of the License, or (at your option) any later version. * * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Lesser General Public License for more details. */ package org.geotoolkit.gml.xml.v311; import java.util.Objects; import javax.xml.bind.annotation.XmlAccessType; import javax.xml.bind.annotation.XmlAccessorType; import javax.xml.bind.annotation.XmlType; import org.apache.sis.util.ComparisonMode; import org.apache.sis.util.iso.SimpleInternationalString; import org.opengis.util.InternationalString; /** * A definition, which can be included in or referenced by a dictionary. In this extended type, the inherited "description" optional element can hold the definition whenever only text is needed. The inherited "name" elements can provide one or more brief terms for which this is the definition. The inherited "metaDataProperty" elements can be used to reference or include more information about this definition. * The gml:id attribute is required - it must be possible to reference this definition using this handle. * * <p>Java class for DefinitionType complex type. * * <p>The following schema fragment specifies the expected content contained within this class. * * <pre> * <complexType name="DefinitionType"> * <complexContent> * <restriction base="{http://www.opengis.net/gml}AbstractGMLType"> * <sequence> * <element ref="{http://www.opengis.net/gml}metaDataProperty" maxOccurs="unbounded" minOccurs="0"/> * <element ref="{http://www.opengis.net/gml}description" minOccurs="0"/> * <element ref="{http://www.opengis.net/gml}name" maxOccurs="unbounded"/> * </sequence> * <attribute ref="{http://www.opengis.net/gml}id use="required""/> * </restriction> * </complexContent> * </complexType> * </pre> * * * @module */ @XmlAccessorType(XmlAccessType.FIELD) @XmlType(name = "DefinitionType") //@XmlSeeAlso({ // DictionaryType.class, // DefinitionProxyType.class, // UnitDefinitionType.class //}) public class DefinitionType extends DefinitionBaseType { private String remarks; /** * An empty constructor used by JAXB */ protected DefinitionType() {} /** * super constructor to access to Entry constructor */ public DefinitionType(final String id) { super(id); } /** * super constructor to access to Entry constructor */ public DefinitionType(final String id, final String name, final String description ) { super(id, name, description); } /** * Gets the value of the remarks property. */ @Override public InternationalString getRemarks() { if (remarks != null) { return new SimpleInternationalString(remarks); } return null; } /** * Vérifie si cette entré est identique à l'objet spécifié. */ @Override public boolean equals(final Object object, final ComparisonMode mode) { if (object == this) { return true; } if (object instanceof DefinitionType && super.equals(object, mode)) { final DefinitionType that = (DefinitionType) object; return Objects.equals(this.remarks, that.remarks); } return false; } @Override public int hashCode() { int hash = 5; hash = 79 * hash + (this.remarks != null ? this.remarks.hashCode() : 0); return hash; } @Override public String toString() { StringBuilder s = new StringBuilder(super.toString()); if (remarks != null) { s.append("remarks:").append(remarks); } return s.toString(); } }