org.apache.uima.resource
Interface DataResource

All Superinterfaces:
Resource

public interface DataResource
extends Resource

DataResource is a simple resource that provides access to data. All DataResources will implement the getInputStream() method to provide access to their data.

DataResources may optionally implement getUrl(), which would return the URL where the data is located. This may be necessary for some applications, but it is strongly recommnded the getInputStream() be used whenever possible, because accessing the data directly via the URL does not allow the ResourceManager to assist in caching or sharing of data.


Field Summary
static String PARAM_RELATIVE_PATH_RESOLVER
          Key for the initialization parameter whose value is a reference to the RelativePathResolver that this DataResource should use to resolve relative resource URLs.
 
Fields inherited from interface org.apache.uima.resource.Resource
PARAM_AGGREGATE_SOFA_MAPPINGS, PARAM_CONFIG_PARAM_SETTINGS, PARAM_PERFORMANCE_TUNING_SETTINGS, PARAM_RESOURCE_MANAGER, PARAM_UIMA_CONTEXT
 
Method Summary
 boolean equals(Object aObj)
          Determines if this DataResource is equal to another DataResource.
 InputStream getInputStream()
          Gets an InputStream to the data.
 URI getUri()
          Gets the URI of the data.
 URL getUrl()
          Gets the URL where the data is stored.
 int hashCode()
          Gest the hash code for this DataResource.
 
Methods inherited from interface org.apache.uima.resource.Resource
destroy, getLogger, getMetaData, getResourceManager, getUimaContext, getUimaContextAdmin, initialize, setLogger
 

Field Detail

PARAM_RELATIVE_PATH_RESOLVER

static final String PARAM_RELATIVE_PATH_RESOLVER
Key for the initialization parameter whose value is a reference to the RelativePathResolver that this DataResource should use to resolve relative resource URLs. This value is used as a key in the aAdditionalParams Map that is passed to the Resource.initialize(ResourceSpecifier,Map) method.

See Also:
Constant Field Values
Method Detail

getInputStream

InputStream getInputStream()
                           throws IOException
Gets an InputStream to the data. It is the caller's responsibility to close this input stream when finshed with it.

Returns:
an InputStream to the data
Throws:
IOException - if an I/O error occurred when trying to open the stream

getUri

URI getUri()
Gets the URI of the data. In general, this method will return a URI that is equivalent to the URL returned by getUrl(). However, in the case where getUrl() returns null (indicating no URL available), this method may still return a URI. This can be the case if the URI does not use a standard protocol such as http or file.

Returns:
The URI of the data

getUrl

URL getUrl()
Gets the URL where the data is stored. This method may return null if there is no appropriate URL (for example if the data is stored in a relational database). It is recommended that the getInputStream() method be used whenever possible - see the class comment for more information.

Returns:
the URL where the data is stored, or null if this is not available.

equals

boolean equals(Object aObj)
Determines if this DataResource is equal to another DataResource. It is important that DataResource implementations override this method appropriately, because the ResourceManager can make use of this method to determine when cached data can be reused. Two DataResources that are equal according to this method will be considered to provide access to the same data; therefore, a common cache can be used.

Overrides:
equals in class Object
Parameters:
aObj - the object to compare to
Returns:
true if and only if aObj is a DataResource and provides access to the same data as this object.

hashCode

int hashCode()
Gest the hash code for this DataResource. As always, if the equals(Object) method is overridden, this method should also be overridden. Two objects that are equal must have the same hash code.

Overrides:
hashCode in class Object
Returns:
the hash code for this object


Copyright © 2010 The Apache Software Foundation. All Rights Reserved.