Interface Resource

  • All Superinterfaces:
    java.lang.AutoCloseable
    All Known Subinterfaces:
    BinaryResource, XMLResource

    public interface Resource
    extends java.lang.AutoCloseable
    Resource is a container for data stored within the database. Raw resources are not particulary useful. It is necessary to have a resource implementation that provides handling for a specific content type before anything useful can be done.
    • Method Summary

      All Methods Instance Methods Abstract Methods 
      Modifier and Type Method Description
      void close()
      Releases all resources consumed by the Resource.
      java.lang.Object getContent()
      Retrieves the content from the resource.
      void getContentAsStream​(java.io.OutputStream stream)
      Retrieves the content from the resource.
      java.time.Instant getCreationTime()
      Returns the time of creation of the resource.
      java.lang.String getId()
      Returns the unique id for this Resource or null if the Resource is anonymous.
      java.time.Instant getLastModificationTime()
      Returns the time of last modification of the resource.
      Collection getParentCollection()
      Returns the Collection instance that this resource is associated with.
      ResourceType getResourceType()
      Returns the resource type for this Resource.
      boolean isClosed()
      Returns whenever the current resource has been closed or not.
      void setContent​(java.lang.Object value)
      Sets the content for this resource.
    • Method Detail

      • getResourceType

        ResourceType getResourceType()
        Returns the resource type for this Resource. XML:DB defined resource types are: XMLResource - all XML data stored in the database BinaryResource - Binary blob data stored in the database
        Returns:
        the resource type for the Resource.
      • getParentCollection

        Collection getParentCollection()
                                throws XMLDBException
        Returns the Collection instance that this resource is associated with. All resources must exist within the context of a collection.
        Returns:
        the collection associated with the resource.
        Throws:
        XMLDBException - with expected error codes. ErrorCodes.VENDOR_ERROR for any vendor specific errors that occur.
      • getId

        java.lang.String getId()
                        throws XMLDBException
        Returns the unique id for this Resource or null if the Resource is anonymous. The Resource will be anonymous if it is obtained as the result of a query.
        Returns:
        the id for the Resource or null if no id exists.
        Throws:
        XMLDBException - with expected error codes. ErrorCodes.VENDOR_ERROR for any vendor specific errors that occur.
      • getContent

        java.lang.Object getContent()
                             throws XMLDBException
        Retrieves the content from the resource. The type of the content varies depending what type of resource is being used.
        Returns:
        the content of the resource.
        Throws:
        XMLDBException - with expected error codes. ErrorCodes.VENDOR_ERROR for any vendor specific errors that occur.
      • getContentAsStream

        void getContentAsStream​(java.io.OutputStream stream)
                         throws XMLDBException
        Retrieves the content from the resource. The type of the content varies depending what type of resource is being used.
        Parameters:
        stream - the output stream to write the resource content to
        Throws:
        XMLDBException - with expected error codes. ErrorCodes.VENDOR_ERROR for any vendor specific errors that occur.
      • setContent

        void setContent​(java.lang.Object value)
                 throws XMLDBException
        Sets the content for this resource. The type of content that can be set depends on the type of resource being used.
        Parameters:
        value - the content value to set for the resource.
        Throws:
        XMLDBException - with expected error codes. ErrorCodes.VENDOR_ERROR for any vendor specific errors that occur.
      • isClosed

        boolean isClosed()
        Returns whenever the current resource has been closed or not.
        Returns:
        true when the resource has been closed, false otherwise.
      • close

        void close()
            throws XMLDBException
        Releases all resources consumed by the Resource. The close method must always be called when use of a Resource is complete. It is not safe to use a Resource after the close method has been called.
        Specified by:
        close in interface java.lang.AutoCloseable
        Throws:
        XMLDBException - with expected error codes. ErrorCodes.VENDOR_ERROR for any vendor specific errors that occur.
      • getCreationTime

        java.time.Instant getCreationTime()
                                   throws XMLDBException
        Returns the time of creation of the resource.
        Returns:
        the creation date of the current resource
        Throws:
        XMLDBException - with expected error codes. ErrorCodes.VENDOR_ERROR for any vendor specific errors that occur.
      • getLastModificationTime

        java.time.Instant getLastModificationTime()
                                           throws XMLDBException
        Returns the time of last modification of the resource.
        Returns:
        the last modification date of the current resource
        Throws:
        XMLDBException - with expected error codes. ErrorCodes.VENDOR_ERROR for any vendor specific errors that occur.