package io.github.ibuildthecloud.gdapi.request.resource.impl; import io.github.ibuildthecloud.gdapi.model.Collection; import io.github.ibuildthecloud.gdapi.model.ListOptions; import io.github.ibuildthecloud.gdapi.model.Resource; import io.github.ibuildthecloud.gdapi.request.ApiRequest; import io.github.ibuildthecloud.gdapi.request.resource.ResourceManager; import io.github.ibuildthecloud.gdapi.request.resource.ResourceManagerFilter; import java.util.List; import java.util.Map; public class FilteredResourceManager implements ResourceManager { ResourceManagerFilter filter; ResourceManager next; public FilteredResourceManager(ResourceManagerFilter filter, ResourceManager next) { super(); this.filter = filter; this.next = next; } @Override public String[] getTypes() { return next.getTypes(); } @Override public Class<?>[] getTypeClasses() { return next.getTypeClasses(); } @Override public Object getById(String type, String id, ListOptions options) { return filter.getById(type, id, options, next); } @Override public Object getLink(String type, String id, String link, ApiRequest request) { return filter.getLink(type, id, link, request, next); } @Override public Object list(String type, ApiRequest request) { return filter.list(type, request, next); } @Override public List<?> list(String type, Map<Object, Object> criteria, ListOptions options) { return filter.list(type, criteria, options, next); } @Override public Object create(String type, ApiRequest request) { return filter.create(type, request, next); } @Override public Object update(String type, String id, ApiRequest request) { return filter.update(type, id, request, next); } @Override public Object delete(String type, String id, ApiRequest request) { return filter.delete(type, id, request, next); } @Override public Collection convertResponse(List<?> object, ApiRequest request) { return next.convertResponse(object, request); } @Override public Resource convertResponse(Object obj, ApiRequest request) { return next.convertResponse(obj, request); } @Override public boolean handleException(Throwable t, ApiRequest request) { return next.handleException(t, request); } @Override public Object resourceAction(String type, ApiRequest request) { return filter.resourceAction(type, request, next); } @Override public Object collectionAction(String type, ApiRequest request) { return filter.collectionAction(type, request, next); } }