org.jicengine.io
Class ClassResource

java.lang.Object
  extended byorg.jicengine.io.AbstractResource
      extended byorg.jicengine.io.ClassResource
All Implemented Interfaces:
Resource, UrlReadable

public class ClassResource
extends AbstractResource
implements UrlReadable

Resource of some Class. The resource is read by calling [resource-owner-class].getResourceAsStream([resource-name])

Version:
1.0
Author:
.timo
See Also:
Class, ClassLoader, Class.getResourceAsStream(java.lang.String), Class.getResource(java.lang.String)

Constructor Summary
ClassResource(java.lang.Class resourceOwnerClass, java.lang.String resourceName)
           
 
Method Summary
 java.io.InputStream getInputStream()
          A primary way reading the resource.
 Resource getResource(java.lang.String relativePath)
           Locates another Resource whose path is defined relative to this Resource.
 java.lang.String getResourceName()
          not same as the getIdentifier(), which is prefixed with the name of the owner class..
 java.lang.Class getResourceOwnerClass()
           
 java.net.URL getUrl()
           
 boolean isAvailable()
           Determines the availability of the Resource by calling getInputStream(): resource is available if the method doesn't throw an exception.
 
Methods inherited from class org.jicengine.io.AbstractResource
getIdentifier, getMimeType, getReader, setMimeType, toString, writeTo, writeTo
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

ClassResource

public ClassResource(java.lang.Class resourceOwnerClass,
                     java.lang.String resourceName)
Parameters:
resourceOwnerClass - the Class that own the resource. specifies the location of the actual file.
resourceName - The name of the resource, given for method Class.getResourceAsStream().
See Also:
Class.getResourceAsStream(java.lang.String), Class.getResource(java.lang.String)
Method Detail

getResourceOwnerClass

public java.lang.Class getResourceOwnerClass()

getResourceName

public java.lang.String getResourceName()
not same as the getIdentifier(), which is prefixed with the name of the owner class..


getUrl

public java.net.URL getUrl()
                    throws java.io.IOException
Specified by:
getUrl in interface UrlReadable
Throws:
java.io.IOException

isAvailable

public boolean isAvailable()
Description copied from class: AbstractResource

Determines the availability of the Resource by calling getInputStream(): resource is available if the method doesn't throw an exception.

Override this if a more efficient way for determining the availability is possible.

Specified by:
isAvailable in interface Resource
Overrides:
isAvailable in class AbstractResource

getInputStream

public java.io.InputStream getInputStream()
                                   throws java.io.IOException
Description copied from interface: Resource
A primary way reading the resource.

Specified by:
getInputStream in interface Resource
Specified by:
getInputStream in class AbstractResource
Throws:
java.io.IOException

getResource

public Resource getResource(java.lang.String relativePath)
                     throws java.io.IOException
Description copied from interface: Resource

Locates another Resource whose path is defined relative to this Resource.

the path scheme used with files and urls is used for specifying relative paths.

the method generally returns instances of the same Resource-subclass than the current instance, but this is not obligatory.

NOTE:

NOTE: there is no support for absolute paths. yet.

Specified by:
getResource in interface Resource
Specified by:
getResource in class AbstractResource
Throws:
java.io.IOException