Author: radu
Date: Mon Nov 28 18:11:34 2016
New Revision: 1771782
URL: http://svn.apache.org/viewvc?rev=1771782&view=rev
Log:
SLING-6336 - Implement a ResourceResolverWrapper
Added:
sling/trunk/bundles/api/src/main/java/org/apache/sling/api/resource/ResourceResolverWrapper.java
Added:
sling/trunk/bundles/api/src/main/java/org/apache/sling/api/resource/ResourceResolverWrapper.java
URL:
http://svn.apache.org/viewvc/sling/trunk/bundles/api/src/main/java/org/apache/sling/api/resource/ResourceResolverWrapper.java?rev=1771782&view=auto
==============================================================================
---
sling/trunk/bundles/api/src/main/java/org/apache/sling/api/resource/ResourceResolverWrapper.java
(added)
+++
sling/trunk/bundles/api/src/main/java/org/apache/sling/api/resource/ResourceResolverWrapper.java
Mon Nov 28 18:11:34 2016
@@ -0,0 +1,210 @@
+/*******************************************************************************
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+
******************************************************************************/
+package org.apache.sling.api.resource;
+
+import java.util.Iterator;
+import java.util.Map;
+import javax.annotation.Nonnull;
+import javax.servlet.http.HttpServletRequest;
+
+import org.osgi.annotation.versioning.ConsumerType;
+
+/**
+ * The {@code ResourceResolverWrapper} is a wrapper for any {@code
ResourceResolver}, delegating all method calls to the wrapped resource
+ * resolver by default. Extensions of this class may overwrite any method to
return different values as appropriate.
+ */
+@ConsumerType
+public class ResourceResolverWrapper implements ResourceResolver {
+
+ private ResourceResolver wrapped;
+
+ public ResourceResolverWrapper(ResourceResolver resolver) {
+ wrapped = resolver;
+ }
+
+ @Nonnull
+ @Override
+ public Resource resolve(@Nonnull HttpServletRequest request, @Nonnull
String absPath) {
+ return wrapped.resolve(request, absPath);
+ }
+
+ @Nonnull
+ @Override
+ public Resource resolve(@Nonnull String absPath) {
+ return wrapped.resolve(absPath);
+ }
+
+ @Nonnull
+ @Override
+ public Resource resolve(@Nonnull HttpServletRequest request) {
+ return wrapped.resolve(request);
+ }
+
+ @Nonnull
+ @Override
+ public String map(@Nonnull String resourcePath) {
+ return wrapped.map(resourcePath);
+ }
+
+ @Override
+ public String map(@Nonnull HttpServletRequest request, @Nonnull String
resourcePath) {
+ return wrapped.map(request, resourcePath);
+ }
+
+ @Override
+ public Resource getResource(@Nonnull String path) {
+ return wrapped.getResource(path);
+ }
+
+ @Override
+ public Resource getResource(Resource base, @Nonnull String path) {
+ return wrapped.getResource(base, path);
+ }
+
+ @Nonnull
+ @Override
+ public String[] getSearchPath() {
+ return wrapped.getSearchPath();
+ }
+
+ @Nonnull
+ @Override
+ public Iterator<Resource> listChildren(@Nonnull Resource parent) {
+ return wrapped.listChildren(parent);
+ }
+
+ @Override
+ public Resource getParent(@Nonnull Resource child) {
+ return wrapped.getParent(child);
+ }
+
+ @Nonnull
+ @Override
+ public Iterable<Resource> getChildren(@Nonnull Resource parent) {
+ return wrapped.getChildren(parent);
+ }
+
+ @Nonnull
+ @Override
+ public Iterator<Resource> findResources(@Nonnull String query, String
language) {
+ return wrapped.findResources(query, language);
+ }
+
+ @Nonnull
+ @Override
+ public Iterator<Map<String, Object>> queryResources(@Nonnull String query,
String language) {
+ return wrapped.queryResources(query, language);
+ }
+
+ @Override
+ public boolean hasChildren(@Nonnull Resource resource) {
+ return wrapped.hasChildren(resource);
+ }
+
+ @Nonnull
+ @Override
+ public ResourceResolver clone(Map<String, Object> authenticationInfo)
throws LoginException {
+ return wrapped.clone(authenticationInfo);
+ }
+
+ @Override
+ public boolean isLive() {
+ return wrapped.isLive();
+ }
+
+ @Override
+ public void close() {
+ wrapped.close();
+ }
+
+ @Override
+ public String getUserID() {
+ return wrapped.getUserID();
+ }
+
+ @Nonnull
+ @Override
+ public Iterator<String> getAttributeNames() {
+ return wrapped.getAttributeNames();
+ }
+
+ @Override
+ public Object getAttribute(@Nonnull String name) {
+ return wrapped.getAttribute(name);
+ }
+
+ @Override
+ public void delete(@Nonnull Resource resource) throws PersistenceException
{
+ wrapped.delete(resource);
+ }
+
+ @Nonnull
+ @Override
+ public Resource create(@Nonnull Resource parent, @Nonnull String name,
Map<String, Object> properties) throws PersistenceException {
+ return wrapped.create(parent, name, properties);
+ }
+
+ @Override
+ public void revert() {
+ wrapped.revert();
+ }
+
+ @Override
+ public void commit() throws PersistenceException {
+ wrapped.commit();
+ }
+
+ @Override
+ public boolean hasChanges() {
+ return wrapped.hasChanges();
+ }
+
+ @Override
+ public String getParentResourceType(Resource resource) {
+ return wrapped.getParentResourceType(resource);
+ }
+
+ @Override
+ public String getParentResourceType(String resourceType) {
+ return wrapped.getParentResourceType(resourceType);
+ }
+
+ @Override
+ public boolean isResourceType(Resource resource, String resourceType) {
+ return wrapped.isResourceType(resource, resourceType);
+ }
+
+ @Override
+ public void refresh() {
+ wrapped.refresh();
+ }
+
+ @Override
+ public Resource copy(String srcAbsPath, String destAbsPath) throws
PersistenceException {
+ return wrapped.copy(srcAbsPath, destAbsPath);
+ }
+
+ @Override
+ public Resource move(String srcAbsPath, String destAbsPath) throws
PersistenceException {
+ return wrapped.move(srcAbsPath, destAbsPath);
+ }
+
+ @Override
+ public <AdapterType> AdapterType adaptTo(@Nonnull Class<AdapterType> type)
{
+ return wrapped.adaptTo(type);
+ }
+}