org.apache.sling.api.resource
Class AbstractResource

java.lang.Object
  extended by org.apache.sling.api.adapter.SlingAdaptable
      extended by org.apache.sling.api.resource.AbstractResource
All Implemented Interfaces:
Adaptable, Resource
Direct Known Subclasses:
SyntheticResource

public abstract class AbstractResource
extends SlingAdaptable
implements Resource

The AbstractResource is an abstract implementation of the Resource interface.

Implementations of the Resource interface are strongly encouraged to either extend from this class or the ResourceWrapper class instead of implementing the Resource from the ground up. This will ensure to always be able to support new methods that might be introduced in the Resource interface in the future.

Since:
2.1.0

Field Summary
 
Fields inherited from interface org.apache.sling.api.resource.Resource
RESOURCE_TYPE_NON_EXISTING
 
Constructor Summary
AbstractResource()
           
 
Method Summary
 Resource getChild(String relPath)
          Returns the indicated child of this resource.
 String getName()
          Returns the name of this resource.
 Resource getParent()
          Returns the parent resource of this resource.
 boolean isResourceType(String resourceType)
          Returns true if this resource is of the given resource type or if any of the super resource types equals the given resource type.
 Iterator<Resource> listChildren()
          Returns an iterator on the direct child resources.
 
Methods inherited from class org.apache.sling.api.adapter.SlingAdaptable
adaptTo, setAdapterManager, unsetAdapterManager
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface org.apache.sling.api.resource.Resource
getPath, getResourceMetadata, getResourceResolver, getResourceSuperType, getResourceType
 
Methods inherited from interface org.apache.sling.api.adapter.Adaptable
adaptTo
 

Constructor Detail

AbstractResource

public AbstractResource()
Method Detail

getName

public String getName()
Returns the name of this resource.

This method is implemented as a pure string operation by calling the ResourceUtil.getName(String) method with the path of this resource.

Specified by:
getName in interface Resource

getParent

public Resource getParent()
Returns the parent resource of this resource.

This method is implemented by getting the parent resource path first calling the ResourceUtil.getParent(String) method and then to retrieve that resource from the resource resolver.

Specified by:
getParent in interface Resource

getChild

public Resource getChild(String relPath)
Returns the indicated child of this resource.

This method is implemented calling the ResourceResolver.getResource(Resource, String) method. As such the relPath argument may even be an absolute path or a path containing relative path segments . (current resource) and .. (parent resource).

Implementations should not generally overwrite this method without calling this base class implementation.

Specified by:
getChild in interface Resource
See Also:
ResourceResolver.getResource(Resource, String)

listChildren

public Iterator<Resource> listChildren()
Returns an iterator on the direct child resources.

This method is implemented calling the ResourceResolver.listChildren(Resource) method.

Implementations should not generally overwrite this method without calling this base class implementation.

Specified by:
listChildren in interface Resource
See Also:
ResourceResolver.listChildren(Resource)

isResourceType

public boolean isResourceType(String resourceType)
Returns true if this resource is of the given resource type or if any of the super resource types equals the given resource type.

This method is implemented by first checking the resource type then walking up the resource super type chain using the ResourceUtil.findResourceSuperType(Resource) and ResourceUtil.getResourceSuperType(ResourceResolver, String) methods.

Specified by:
isResourceType in interface Resource
Parameters:
resourceType - The resource type to check this resource against.
Returns:
true if the resource type or any of the resource's super type(s) equals the given resource type. false is also returned if resourceType is null.


Copyright © 2007-2011 The Apache Software Foundation. All Rights Reserved.