/* (c) 2014 Open Source Geospatial Foundation - all rights reserved * (c) 2001 - 2013 OpenPlans * This code is licensed under the GPL 2.0 license, available at the root * application directory. */ package org.geoserver.security.decorators; import java.io.IOException; import java.util.List; import org.geoserver.catalog.impl.AbstractDecorator; import org.geotools.data.DataStore; import org.geotools.data.FeatureReader; import org.geotools.data.FeatureWriter; import org.geotools.data.LockingManager; import org.geotools.data.Query; import org.geotools.data.ServiceInfo; import org.geotools.data.Transaction; import org.geotools.data.simple.SimpleFeatureSource; import org.geotools.feature.SchemaException; import org.opengis.feature.simple.SimpleFeature; import org.opengis.feature.simple.SimpleFeatureType; import org.opengis.feature.type.Name; import org.opengis.filter.Filter; /** * Delegates every method to the wrapped feature source. Subclasses will * override selected methods to perform their "decoration" job * * @author Andrea Aime - TOPP TODO: Move this class to gt2 */ public abstract class DecoratingDataStore extends AbstractDecorator<DataStore> implements DataStore { public DecoratingDataStore(DataStore delegate) { super(delegate); } public void createSchema(SimpleFeatureType featureType) throws IOException { delegate.createSchema(featureType); } public void dispose() { delegate.dispose(); } public FeatureReader<SimpleFeatureType, SimpleFeature> getFeatureReader(Query query, Transaction transaction) throws IOException { return delegate.getFeatureReader(query, transaction); } public SimpleFeatureSource getFeatureSource(Name typeName) throws IOException { return delegate.getFeatureSource(typeName); } public SimpleFeatureSource getFeatureSource(String typeName) throws IOException { return delegate.getFeatureSource(typeName); } public FeatureWriter<SimpleFeatureType, SimpleFeature> getFeatureWriter(String typeName, Filter filter, Transaction transaction) throws IOException { return delegate.getFeatureWriter(typeName, filter, transaction); } public FeatureWriter<SimpleFeatureType, SimpleFeature> getFeatureWriter(String typeName, Transaction transaction) throws IOException { return delegate.getFeatureWriter(typeName, transaction); } public FeatureWriter<SimpleFeatureType, SimpleFeature> getFeatureWriterAppend(String typeName, Transaction transaction) throws IOException { return delegate.getFeatureWriterAppend(typeName, transaction); } public ServiceInfo getInfo() { return delegate.getInfo(); } public LockingManager getLockingManager() { return delegate.getLockingManager(); } public List<Name> getNames() throws IOException { return delegate.getNames(); } public SimpleFeatureType getSchema(Name name) throws IOException { return delegate.getSchema(name); } public SimpleFeatureType getSchema(String typeName) throws IOException { return delegate.getSchema(typeName); } public String[] getTypeNames() throws IOException { return delegate.getTypeNames(); } public void updateSchema(Name typeName, SimpleFeatureType featureType) throws IOException { delegate.updateSchema(typeName, featureType); } public void updateSchema(String typeName, SimpleFeatureType featureType) throws IOException { delegate.updateSchema(typeName, featureType); } public void removeSchema(Name typeName) throws IOException { delegate.removeSchema(typeName); } public void removeSchema(String typeName) throws IOException { delegate.removeSchema(typeName); } }