package org.geoserver.hibernate.dao; import java.util.List; import org.geoserver.catalog.LayerGroupInfo; import org.geoserver.catalog.LayerInfo; import org.geoserver.catalog.MapInfo; import org.geoserver.catalog.NamespaceInfo; import org.geoserver.catalog.ResourceInfo; import org.geoserver.catalog.StoreInfo; import org.geoserver.catalog.StyleInfo; import org.geoserver.catalog.WorkspaceInfo; import org.geoserver.catalog.impl.NamespaceInfoImpl; import org.geoserver.catalog.impl.WorkspaceInfoImpl; public interface CatalogDAO { public abstract void save(StoreInfo entity); public abstract void delete(StoreInfo entity); public abstract StoreInfo update(StoreInfo entity); public abstract void save(ResourceInfo entity); public abstract void delete(ResourceInfo entity); public abstract ResourceInfo update(ResourceInfo entity); public abstract void save(NamespaceInfo entity); public abstract void delete(NamespaceInfo entity); public abstract NamespaceInfo update(NamespaceInfo entity); public abstract void save(LayerInfo entity); public abstract void delete(LayerInfo entity); public abstract LayerInfo update(LayerInfo entity); public abstract void save(MapInfo entity); public abstract void delete(MapInfo entity); public abstract MapInfo update(MapInfo entity); public abstract void save(StyleInfo entity); public abstract void delete(StyleInfo entity); public abstract StyleInfo update(StyleInfo entity); public abstract void save(LayerGroupInfo entity); public abstract void delete(LayerGroupInfo entity); public abstract LayerGroupInfo update(LayerGroupInfo entity); public abstract void save(WorkspaceInfo entity); public abstract void delete(WorkspaceInfo entity); public abstract WorkspaceInfo update(WorkspaceInfo entity); NamespaceInfoImpl getDefaultNamespace(); WorkspaceInfoImpl getDefaultWorkspace(); LayerGroupInfo getLayerGroup(String id); LayerGroupInfo getLayerGroupByName(String name); List<LayerGroupInfo> getLayerGroups(); LayerInfo getLayer(String id); LayerInfo getLayerByName(String name); LayerInfo getLayerByName(String nsprefix, String name); List<LayerInfo> getLayers(); List<LayerInfo> getLayersByResourceId(String resid); MapInfo getMap(String id); MapInfo getMapByName(String name); List<MapInfo> getMaps(); NamespaceInfoImpl getNamespace(String id); NamespaceInfoImpl getNamespaceByPrefix(String prefix); NamespaceInfo getNamespaceByURI(String uri); List<NamespaceInfo> getNamespaces(); <T extends ResourceInfo> T getResource(String id, Class<T> clazz); <T extends ResourceInfo> T getResourceByName(String ns, String name, Class<T> clazz); <T extends ResourceInfo> T getResourceByStore(StoreInfo store, String name, Class<T> clazz); <T extends ResourceInfo> List<T> getResources(Class<T> clazz); <T extends ResourceInfo> List<T> getResourcesByName(String name, Class<T> clazz); <T extends ResourceInfo> List<T> getResourcesByNamespace(NamespaceInfo namespace, Class<T> clazz); <T extends ResourceInfo> List<T> getResourcesByStore(StoreInfo store, Class<T> clazz); <T extends StoreInfo> T getStore(String id, Class<T> clazz); @Deprecated <T extends StoreInfo> T getStoreByName(String name, Class<T> clazz); <T extends StoreInfo> T getStoreByName(WorkspaceInfo workspace, String name, Class<T> clazz); <T extends StoreInfo> List<T> getStores(Class<T> clazz); <T extends StoreInfo> List<T> getStoresByName(String name, Class<T> clazz); <T extends StoreInfo> List<T> getStoresByWorkspace(WorkspaceInfo workspace, Class<T> clazz); StyleInfo getStyle(String id); StyleInfo getStyleByName(String name); List<StyleInfo> getStyles(); WorkspaceInfo getWorkspace(String id); WorkspaceInfo getWorkspaceByName(String name); List<WorkspaceInfo> getWorkspaces(); }