org.apache.hivemind.util
Class AbstractResource

java.lang.Object
  extended by org.apache.hivemind.util.AbstractResource
All Implemented Interfaces:
Resource
Direct Known Subclasses:
ClasspathResource, ContextResource, FileResource, URLResource

public abstract class AbstractResource
extends java.lang.Object
implements Resource

Abstract implementation of Resource.

Resource instances act as a kind of factory for new instances of the same type, via newResource(String).

Author:
Howard Lewis Ship

Constructor Summary
protected AbstractResource(java.lang.String path)
           
protected AbstractResource(java.lang.String path, java.util.Locale locale)
           
 
Method Summary
 boolean equals(java.lang.Object obj)
          Returns true if the other object is an instance of the same class, and the paths are equal.
 java.util.Locale getLocale()
          Returns the locale for which this resource has been localized or null if the resource has not been localized.
 java.lang.String getName()
          Returns the file name portion of the resource location.
 java.lang.String getPath()
          Returns the path that represents the resource.
 Resource getRelativeResource(java.lang.String name)
          Returns at a relative location to this resource.
protected abstract  Resource newResource(java.lang.String path)
           
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface org.apache.hivemind.Resource
getLocalization, getResourceURL
 

Constructor Detail

AbstractResource

protected AbstractResource(java.lang.String path)

AbstractResource

protected AbstractResource(java.lang.String path,
                           java.util.Locale locale)
Method Detail

getName

public java.lang.String getName()
Description copied from interface: Resource
Returns the file name portion of the resource location.

Specified by:
getName in interface Resource

getRelativeResource

public Resource getRelativeResource(java.lang.String name)
Description copied from interface: Resource
Returns at a relative location to this resource. The new resource may or may not exist; this can be determined via Resource.getResourceURL().

Specified by:
getRelativeResource in interface Resource
Parameters:
name - name of new resource, possibly as a relative path, or as an absolute path (starting with a slash).

getPath

public java.lang.String getPath()
Description copied from interface: Resource
Returns the path that represents the resource. This should only be used when the type of resource is known.

Specified by:
getPath in interface Resource

getLocale

public java.util.Locale getLocale()
Description copied from interface: Resource
Returns the locale for which this resource has been localized or null if the resource has not been localized. This should only be used when the type of resource is known. This locale is the same or more general than the locale for which localization was requested. For example, if the requested locale was en_US, but only the file Home_en was found, this locale returned would be en.

Specified by:
getLocale in interface Resource

newResource

protected abstract Resource newResource(java.lang.String path)

equals

public boolean equals(java.lang.Object obj)
Returns true if the other object is an instance of the same class, and the paths are equal.

Overrides:
equals in class java.lang.Object