/* * 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.referencing.factory; import java.util.Collection; import java.util.Collections; import java.util.logging.Logger; import org.opengis.metadata.citation.Citation; import org.opengis.parameter.InvalidParameterValueException; import org.opengis.referencing.AuthorityFactory; import org.opengis.referencing.Factory; import org.geotools.factory.AbstractFactory; import org.geotools.metadata.iso.citation.Citations; import org.geotools.metadata.iso.citation.CitationImpl; import org.geotools.util.logging.Logging; import org.geotools.resources.i18n.Errors; import org.geotools.resources.i18n.ErrorKeys; import org.geotools.resources.i18n.Vocabulary; import org.geotools.resources.i18n.VocabularyKeys; /** * Base class for all factories in the referencing module. * Factories can be grouped in two categories: * *
{@linkplain org.opengis.referencing.AuthorityFactory Authority factories}
* creates objects from a compact string defined by an authority.
*
These classes are working as "builders": they hold the definition or recipies
* used to construct an objet.
{@linkplain org.opengis.referencing.ObjectFactory Object factories}
* allows applications to make objects that cannot be created by an authority factory.
* This factory is very flexible, whereas the authority factory is easier to use.
*
These classes are working as "Factories": they provide a series of
* {@code create} methods that can be used like a constructor.
* The default implementation always returns an empty set. */ Collection super AuthorityFactory> dependencies() { return Collections.emptySet(); } }