All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.geoserver.catalog.StoreInfo Maven / Gradle / Ivy

The newest version!
/* Copyright (c) 2001 - 2008 TOPP - www.openplans.org. All rights reserved.
 * This code is licensed under the GPL 2.0 license, available at the root
 * application directory.
 */
package org.geoserver.catalog;

import java.io.IOException;
import java.io.Serializable;
import java.util.Iterator;
import java.util.Map;

import org.opengis.util.ProgressListener;

/**
 * A store of geoaspatial resources.
 * 
 * @author Justin Deoliveira, The Open Planning Project
 */
public interface StoreInfo {

    /**
     * The store identifier.
     */
    String getId();

    /**
     * The catalog the store is part of.
     */
    Catalog getCatalog();
    
    /**
     * The store name.
     * 

* This value is unique among all stores and can be used to identify the * store. *

* * @uml.property name="name" */ String getName(); /** * Sets the name of the store. * * @uml.property name="name" */ void setName(String name); /** * The store description. *

* This is usually something that is used in a user interface. *

* * @uml.property name="description" */ String getDescription(); // FIXME: InternationalString ? /** * Sets the store description. *

* This is usually something that is used in a user interface. *

* * @uml.property name="description" */ void setDescription(String description); /** * Map of persistent properties associated with the store. *

* The intent of this map is for services to associate data with a * particular store which must be persisted. *

*

* Key values in this map are of type {@link String}, and values are of * type {@link Serializable}. *

* * @uml.property name="metadata" */ Map getMetadata(); /** * Flag indicating wether or not teh store is enabled or not. * * @uml.property name="enabled" */ boolean isEnabled(); /** * Sets the store enabled / disabled flag. * * @uml.property name="enabled" */ void setEnabled(boolean enabled); /** * The namespace the store is part of. *

* This value is often used to set the namespace of {@link ResourceInfo}objects * which are associated to the store. *

* * @uml.property name="namespace" * @uml.associationEnd inverse="storeInfo:org.geoserver.catalog.NamespaceInfo" */ //NamespaceInfo getNamespace(); /** * Sets the namespace the store is part of. * * @uml.property name="namespace" */ //void setNamespace(NamespaceInfo namespace); /** * The workspace the store is part of. * */ WorkspaceInfo getWorkspace(); /** * Sets the workspace the store is part of. */ void setWorkspace( WorkspaceInfo workspace ); /** * The map of connection paramters specific to the store. *

* Key values in this map are of type {@link String}, and values are of * type {@link Serializable}. *

* * @uml.property name="connectionParameters" */ Map getConnectionParameters(); /** * An error associated with the store. *

* This value is used to store a problem that occured while attemping to * connect to the underlying resource of the store. It returns null * if no such error exists. *

*

* This is a transient property of the store. *

*/ Throwable getError(); /** * Associates an error with the store. * * @see {@link #getError()} */ void setError(Throwable t); /** * Creates an adapter for the store. *

* *

* * @param adapterClass * The class of the adapter. * @param hints * Hints to use when creating the adapter. * * @return The adapter, an intsanceof adapterClass, or null. */ T getAdapter(Class adapterClass, Map hints); /** * @return Returns a resource with the specified name that is provided by * the store, or null if no such resource exists. *

* The monitor is used to report the progress of loading resoures * and report any warnings / errors that occur in doing so. Monitor * may also be null. *

*/ // T getResource( String name, ProgressListener monitor) // throws IOException; /** * @return Returns the resources provided by this store. *

* The monitor is used to report the progress of loading resoures * and report any warnings / errors that occur in doing so. Monitor * may also be null. *

* @uml.property name="resources" * @uml.associationEnd multiplicity="(0 -1)" * inverse="storeInfo:org.geoserver.catalog.Resource" */ // Iterator getResources(ProgressListener monitor) throws IOException; }




© 2015 - 2024 Weber Informatics LLC | Privacy Policy