Class ResourceReference

java.lang.Object
org.javarosa.core.reference.ResourceReference
All Implemented Interfaces:
Reference

public class ResourceReference
extends Object
implements Reference
A Resource Reference is a reference to a file which is a Java Resource, which is accessible with the 'getResourceAsStream' method from the Java Classloader. Resource References are read only, and can identify with certainty whether a binary file is located at them.
Author:
ctsims
  • Constructor Details

    • ResourceReference

      public ResourceReference​(String URI)
      Creates a new resource reference with URI in the format of a fully global resource URI, IE: "/path/file.ext".
      Parameters:
      URI -
  • Method Details

    • doesBinaryExist

      public boolean doesBinaryExist() throws IOException
      Specified by:
      doesBinaryExist in interface Reference
      Returns:
      True if the binary does (or might) exist at the remote location. False if the binary definitely does not exist.
      Throws:
      IOException - If there is a problem identifying the status of the resource
    • getStream

      public InputStream getStream() throws IOException
      Specified by:
      getStream in interface Reference
      Returns:
      A Stream of data which is the binary resource's definition.
      Throws:
      IOException - If there is a problem reading the stream.
    • getURI

      public String getURI()
      Specified by:
      getURI in interface Reference
      Returns:
      A URI which will evaluate to this same reference in the future.
    • isReadOnly

      public boolean isReadOnly()
      Specified by:
      isReadOnly in interface Reference
      Returns:
      True if the remote data is only available to be read from (using getStream), False if the remote data can also be modified or written to.
    • equals

      public boolean equals​(Object o)
      Overrides:
      equals in class Object
    • getOutputStream

      public OutputStream getOutputStream() throws IOException
      Specified by:
      getOutputStream in interface Reference
      Returns:
      A stream which can be written to at the reference location to define the binary content there.
      Throws:
      IOException - If there is a problem writing or the reference is read only
    • remove

      public void remove() throws IOException
      Description copied from interface: Reference
      Removes the binary data located by this reference.
      Specified by:
      remove in interface Reference
      Throws:
      IOException - If there is a problem deleting or the reference is read only
    • getLocalURI

      public String getLocalURI()
      Specified by:
      getLocalURI in interface Reference
      Returns:
      A URI which may or may not exist in the local context which will resolves to this reference. This method should be used with caution: There is no guarantee that a local URI can be constructed or used in a general way.
    • probeAlternativeReferences

      public Reference[] probeAlternativeReferences()
      Description copied from interface: Reference
      Determines any platform-specific and reference-type specific alternatives versions of this reference which may exist. Useful when only certain media or references are available on a platform and you need to figure out whether a platform-specific version might be present. NOTE: There is no guarantee that returned references will exist, they should be tested.
      Specified by:
      probeAlternativeReferences in interface Reference