/* * GeoTools - The Open Source Java GIS Toolkit * http://geotools.org * * (C) 2004-2008, Open Source Geospatial Foundation (OSGeo) * * 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; * version 2.1 of the License. * * 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. * * This package contains documentation from OpenGIS specifications. * OpenGIS consortium's work is fully acknowledged here. */ package org.geotools.metadata.iso; import java.net.URI; import org.opengis.metadata.ApplicationSchemaInformation; import org.opengis.metadata.SpatialAttributeSupplement; import org.opengis.metadata.citation.Citation; /** * Information about the application schema used to build the dataset. * * * @source $URL$ * @version $Id$ * @author Martin Desruisseaux (IRD) * @author Touraïvane * * @since 2.1 */ public class ApplicationSchemaInformationImpl extends MetadataEntity implements ApplicationSchemaInformation { /** * Serial number for interoperability with different versions. */ private static final long serialVersionUID = -3109191272905767382L; /** * Name of the application schema used. */ private Citation name; /** * Identification of the schema language used. */ private String schemaLanguage; /** * Formal language used in Application Schema. */ private String constraintLanguage; /** * Full application schema given as an ASCII file. */ private URI schemaAscii; /** * Full application schema given as a graphics file. */ private URI graphicsFile; /** * Full application schema given as a software development file. */ private URI softwareDevelopmentFile; /** * Software dependent format used for the application schema software dependent file. */ private String softwareDevelopmentFileFormat; /** * Information about the spatial attributes in the application schema for the feature types. */ private SpatialAttributeSupplement featureCatalogueSupplement; /** * Construct an initially empty application schema information. */ public ApplicationSchemaInformationImpl() { } /** * Constructs a metadata entity initialized with the values from the specified metadata. * * @since 2.4 */ public ApplicationSchemaInformationImpl(final ApplicationSchemaInformation source) { super(source); } /** * Creates a application schema information initialized to the specified values. */ public ApplicationSchemaInformationImpl(final Citation name, final String schemaLanguage, final String constraintLanguage) { setName (name ); setSchemaLanguage (schemaLanguage ); setConstraintLanguage(constraintLanguage); } /** * Name of the application schema used. */ public Citation getName() { return name; } /** * Set the name of the application schema used. */ public synchronized void setName(final Citation newValue) { checkWritePermission(); name = newValue; } /** * Identification of the schema language used. */ public String getSchemaLanguage() { return schemaLanguage; } /** * Set the identification of the schema language used. */ public synchronized void setSchemaLanguage(final String newValue) { checkWritePermission(); schemaLanguage = newValue; } /** * Formal language used in Application Schema. */ public String getConstraintLanguage() { return constraintLanguage; } /** * Set the formal language used in Application Schema. */ public synchronized void setConstraintLanguage(final String newValue) { checkWritePermission(); constraintLanguage = newValue; } /** * Full application schema given as an ASCII file. */ public URI getSchemaAscii() { return schemaAscii; } /** * Set the full application schema given as an ASCII file. */ public synchronized void setSchemaAscii(final URI newValue) { checkWritePermission(); schemaAscii = newValue; } /** * Full application schema given as a graphics file. */ public URI getGraphicsFile() { return graphicsFile; } /** * Set the full application schema given as a graphics file. */ public synchronized void setGraphicsFile(final URI newValue) { checkWritePermission(); graphicsFile = newValue; } /** * Full application schema given as a software development file. */ public URI getSoftwareDevelopmentFile() { return softwareDevelopmentFile; } /** * Set the full application schema given as a software development file. */ public synchronized void setSoftwareDevelopmentFile(final URI newValue) { checkWritePermission(); softwareDevelopmentFile = newValue; } /** * Software dependent format used for the application schema software dependent file. */ public String getSoftwareDevelopmentFileFormat() { return softwareDevelopmentFileFormat; } /** * Set the software dependent format used for the application schema software dependent file. */ public synchronized void setSoftwareDevelopmentFileFormat(final String newValue) { checkWritePermission(); softwareDevelopmentFileFormat = newValue; } /** * Information about the spatial attributes in the application schema for the feature types. * * @deprecated removed from ISO 19115 */ @Deprecated public SpatialAttributeSupplement getFeatureCatalogueSupplement() { return featureCatalogueSupplement; } /** * Set information about the spatial attributes in the application schema for the feature types. * * @deprecated removed from ISO 19115 */ @Deprecated public synchronized void setFeatureCatalogueSupplement(final SpatialAttributeSupplement newValue) { checkWritePermission(); featureCatalogueSupplement = newValue; } }