package org.geoserver.hibernate.dao; import java.util.Collection; import org.geoserver.config.GeoServerInfo; import org.geoserver.config.LoggingInfo; import org.geoserver.config.ServiceInfo; public interface ServiceDAO { public abstract void save(ServiceInfo entity); public abstract void delete(ServiceInfo entity); public abstract void update(ServiceInfo entity); public abstract GeoServerInfo save(GeoServerInfo entity); public abstract void delete(GeoServerInfo entity); public abstract GeoServerInfo update(GeoServerInfo entity); /** * * @return */ public abstract GeoServerInfo getGeoServer(); /** * * @param <T> * @param id * @param clazz * @return */ public abstract <T extends ServiceInfo> T getService(String id, Class<T> clazz); /** * * @param <T> * @param name * @param clazz * @return */ public abstract <T extends ServiceInfo> T getServiceByName(String name, Class<T> clazz); /** * * @param clazz * @return */ public abstract Collection<? extends ServiceInfo> getServices(Class<?> clazz); public void setLogging(LoggingInfo entity); public LoggingInfo getLogging(); }