Class StreamLocator

  • All Implemented Interfaces:
    ISynchronizable, ILocator

    public class StreamLocator
    extends CommonLocator
    A simple adapter from InputStream to ILocator.

    This one has different behavior as you can only request input or output stream ONCE. No backing copy of the input / output stream is made by the locator.

    • Constructor Summary

      Constructors 
      Constructor Description
      StreamLocator​(java.io.InputStream is, java.io.OutputStream os, java.lang.String name, java.lang.String type)  
      StreamLocator​(java.io.InputStream stream, java.lang.String name, java.lang.String type)  
      StreamLocator​(java.io.OutputStream stream, java.lang.String name, java.lang.String type)  
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      void delete()
      Delete the artifact referenced by this.
      boolean exists()
      Answer true if the location designated by this exists.
      ILocator getChild​(java.lang.String child)
      The locator for the resource name within the context of this.
      java.lang.String getFullName()
      The full physical name of this.
      java.io.InputStream getInputStream()
      Return an InputStream on the data represented by the receiver.
      java.lang.String getLocalName()
      The local name of the receiver within its parent.
      java.io.OutputStream getOutputStream()
      Return an OutputStream on the location represented by the receiver.
      ILocator getParent()
      The ILocator that is one hierarchy level up or null.
      IRandomAccess getRandomAccess()
      The IRandomAccess for this.
      java.io.Reader getReader()
      A Reader on the data represented by the receiver.
      java.io.Reader getReader​(java.lang.String encoding)
      A Reader on the data represented by the receiver for the given encoding.
      java.lang.String getType()
      The type of the resource.
      java.lang.String getTypedName()
      The qualified local name of the receiver within its parent that includes the type specification for the destination if appropriate.
      java.io.Writer getWriter()
      A Writer on the location represented by the receiver.
      java.io.Writer getWriter​(java.lang.String encoding)
      A Writer on the location represented by the receiver for the given encoding.
      boolean isDirectory()
      Answer true if the location designated by this is a directory.
      boolean isOutOfSynch()
      true if the component is out of synch.
      boolean isReadOnly()
      true if the specified resource is read only.
      boolean isSynchSynchronous()  
      ILocator[] listLocators​(ILocatorNameFilter filter)
      Return an array of ILocator that are children of the receiver that conform to filter.
      void rename​(java.lang.String newName)
      Rename the complete physical name to newName.
      void synch()
      Perform a synchronization with the components physical resources.
      java.net.URL toURL()
      The location designated by this as an URL.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • StreamLocator

        public StreamLocator​(java.io.InputStream is,
                             java.io.OutputStream os,
                             java.lang.String name,
                             java.lang.String type)
      • StreamLocator

        public StreamLocator​(java.io.InputStream stream,
                             java.lang.String name,
                             java.lang.String type)
      • StreamLocator

        public StreamLocator​(java.io.OutputStream stream,
                             java.lang.String name,
                             java.lang.String type)
    • Method Detail

      • delete

        public void delete()
                    throws java.io.IOException
        Description copied from interface: ILocator
        Delete the artifact referenced by this.
        Specified by:
        delete in interface ILocator
        Overrides:
        delete in class CommonLocator
        Throws:
        java.io.IOException
      • exists

        public boolean exists()
        Description copied from interface: ILocator
        Answer true if the location designated by this exists.
        Returns:
        Answer true if the location designated by this exists.
      • getChild

        public ILocator getChild​(java.lang.String child)
        Description copied from interface: ILocator
        The locator for the resource name within the context of this. This may for example be an ILocator to a file within a directory.
        Parameters:
        child - The name of the resource to be located.
        Returns:
        The ILocator for the resource with the name "name" within the context of this.
      • getFullName

        public java.lang.String getFullName()
        Description copied from interface: ILocator
        The full physical name of this.

        This method returns a representation that is proprietary to the underlying physical representation, for example a file name, a SQL statement or so on.

        Returns:
        The full physical name of the receiver.
      • getInputStream

        public java.io.InputStream getInputStream()
                                           throws java.io.IOException
        Description copied from interface: ILocator
        Return an InputStream on the data represented by the receiver.
        Returns:
        An InputStream on the data represented by the receiver.
        Throws:
        java.io.IOException
      • getLocalName

        public java.lang.String getLocalName()
        Description copied from interface: ILocator
        The local name of the receiver within its parent.
        Returns:
        The local name of the receiver within its parent.
      • getOutputStream

        public java.io.OutputStream getOutputStream()
                                             throws java.io.IOException
        Description copied from interface: ILocator
        Return an OutputStream on the location represented by the receiver.
        Returns:
        An OutputStream on the location represented by the receiver.
        Throws:
        java.io.IOException
      • getParent

        public ILocator getParent()
        Description copied from interface: ILocator
        The ILocator that is one hierarchy level up or null. This may be for example the directory where the currently designated resource is found.
        Returns:
        The ILocatorthat is one hierarchy level up or null.
      • getReader

        public java.io.Reader getReader()
                                 throws java.io.IOException
        Description copied from interface: ILocator
        A Reader on the data represented by the receiver.
        Returns:
        A Reader on the data represented by the receiver.
        Throws:
        java.io.IOException
      • getReader

        public java.io.Reader getReader​(java.lang.String encoding)
                                 throws java.io.IOException
        Description copied from interface: ILocator
        A Reader on the data represented by the receiver for the given encoding.
        Parameters:
        encoding - The encoding.
        Returns:
        A Reader on the data represented by the receiver for the given encoding.
        Throws:
        java.io.IOException
      • getType

        public java.lang.String getType()
        Description copied from interface: ILocator
        The type of the resource. This may be for example a mime type or the file extension of the underlying file.
        Returns:
        The type of the resource
      • getTypedName

        public java.lang.String getTypedName()
        Description copied from interface: ILocator
        The qualified local name of the receiver within its parent that includes the type specification for the destination if appropriate. This is for example a filename with its correct suffix. Some locator may return the same name as "getLocalName".
        Returns:
        The qualified local name of the receiver within its parent that includes the type specification for the destination if appropriate.
      • getWriter

        public java.io.Writer getWriter()
                                 throws java.io.IOException
        Description copied from interface: ILocator
        A Writer on the location represented by the receiver.
        Returns:
        A Writer on the location represented by the receiver.
        Throws:
        java.io.IOException
      • getWriter

        public java.io.Writer getWriter​(java.lang.String encoding)
                                 throws java.io.IOException
        Description copied from interface: ILocator
        A Writer on the location represented by the receiver for the given encoding.
        Parameters:
        encoding - The encoding.
        Returns:
        A Writer on the location represented by the receiver for the given encoding.
        Throws:
        java.io.IOException
      • isDirectory

        public boolean isDirectory()
        Description copied from interface: ILocator
        Answer true if the location designated by this is a directory. A directory location serves as a container for other resources, you can never getInputStream on this.
        Returns:
        Answer true if the location designated by this is a directory.
      • isOutOfSynch

        public boolean isOutOfSynch()
        Description copied from interface: ISynchronizable
        true if the component is out of synch.
        Returns:
        true if the component is out of synch.
      • isReadOnly

        public boolean isReadOnly()
        Description copied from interface: ILocator
        true if the specified resource is read only.
        Specified by:
        isReadOnly in interface ILocator
        Overrides:
        isReadOnly in class CommonLocator
        Returns:
        true if the specified resource is read only.
      • isSynchSynchronous

        public boolean isSynchSynchronous()
      • listLocators

        public ILocator[] listLocators​(ILocatorNameFilter filter)
        Description copied from interface: ILocator
        Return an array of ILocator that are children of the receiver that conform to filter. This method never returns null.
        Parameters:
        filter - The filter used to examine the child resources.
        Returns:
        An array of ILocator objects that conform to the filter argument.
      • rename

        public void rename​(java.lang.String newName)
                    throws java.io.IOException
        Description copied from interface: ILocator
        Rename the complete physical name to newName.
        Specified by:
        rename in interface ILocator
        Overrides:
        rename in class CommonLocator
        Parameters:
        newName - The new name of the ILocator. The new name is expected to contain both local and type part of the name.
        Throws:
        java.io.IOException
      • synch

        public void synch()
        Description copied from interface: ISynchronizable
        Perform a synchronization with the components physical resources.

        In case of a scheduled synchronization this may be called by an external daemon.

      • toURL

        public java.net.URL toURL()
        Description copied from interface: ILocator
        The location designated by this as an URL.
        Returns:
        The location designated by this as an URL.