001/*
002 *    GeoAPI - Java interfaces for OGC/ISO standards
003 *    http://www.geoapi.org
004 *
005 *    Copyright (C) 2011-2019 Open Geospatial Consortium, Inc.
006 *    All Rights Reserved. http://www.opengeospatial.org/ogc/legal
007 *
008 *    Permission to use, copy, and modify this software and its documentation, with
009 *    or without modification, for any purpose and without fee or royalty is hereby
010 *    granted, provided that you include the following on ALL copies of the software
011 *    and documentation or portions thereof, including modifications, that you make:
012 *
013 *    1. The full text of this NOTICE in a location viewable to users of the
014 *       redistributed or derivative work.
015 *    2. Notice of any changes or modifications to the OGC files, including the
016 *       date changes were made.
017 *
018 *    THIS SOFTWARE AND DOCUMENTATION IS PROVIDED "AS IS," AND COPYRIGHT HOLDERS MAKE
019 *    NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED
020 *    TO, WARRANTIES OF MERCHANTABILITY OR FITNESS FOR ANY PARTICULAR PURPOSE OR THAT
021 *    THE USE OF THE SOFTWARE OR DOCUMENTATION WILL NOT INFRINGE ANY THIRD PARTY
022 *    PATENTS, COPYRIGHTS, TRADEMARKS OR OTHER RIGHTS.
023 *
024 *    COPYRIGHT HOLDERS WILL NOT BE LIABLE FOR ANY DIRECT, INDIRECT, SPECIAL OR
025 *    CONSEQUENTIAL DAMAGES ARISING OUT OF ANY USE OF THE SOFTWARE OR DOCUMENTATION.
026 *
027 *    The name and trademarks of copyright holders may NOT be used in advertising or
028 *    publicity pertaining to the software without specific, written prior permission.
029 *    Title to copyright in this software and any associated documentation will at all
030 *    times remain with copyright holders.
031 */
032package org.opengis.test.util;
033
034import org.opengis.util.Factory;
035import org.opengis.metadata.citation.Citation;
036
037
038/**
039 * Base class of pseudo-factories that simulate a subset of the capabilities of a "real"
040 * factory. For example a pseudo EPSG factory can be provided for running the tests with
041 * an implementation that do not support the creation of referencing objects from an EPSG
042 * code.
043 *
044 * @author  Martin Desruisseaux (Geomatys)
045 * @version 3.1
046 * @since   3.1
047 */
048public class PseudoFactory implements Factory {
049    /**
050     * The implementor of this factory.
051     */
052    private static final Citation VENDOR = new SimpleCitation(new SimpleInternationalString("GeoAPI"));
053
054    /**
055     * Creates a new pseudo-factory.
056     */
057    protected PseudoFactory() {
058    }
059
060    /**
061     * Returns the implementor of this pseudo-factory, which is "GeoAPI".
062     */
063    @Override
064    public Citation getVendor() {
065        return VENDOR;
066    }
067}