Class TarStreamDataNode

  • All Implemented Interfaces:
    DataNode

    public class TarStreamDataNode
    extends DefaultDataNode
    DataNode representing a Tar archive.
    • Constructor Detail

      • TarStreamDataNode

        public TarStreamDataNode​(uk.ac.starlink.util.DataSource datsrc)
                          throws NoSuchDataException
        Constructs a TarStreamDataNode from a DataSource.
        Parameters:
        datsrc - the source
        Throws:
        NoSuchDataException
    • Method Detail

      • getName

        public java.lang.String getName()
        Description copied from interface: DataNode
        Gets the name of this object. This is an intrinsic property of the object.
        Specified by:
        getName in interface DataNode
        Overrides:
        getName in class DefaultDataNode
        Returns:
        the name of the object
      • getNodeType

        public java.lang.String getNodeType()
        Description copied from interface: DataNode
        Returns a short sentence indicating what kind of node this is. The return value should be just a few words. As a rough guideline it should indicate what the implementing class is.
        Specified by:
        getNodeType in interface DataNode
        Overrides:
        getNodeType in class DefaultDataNode
        Returns:
        a short description of the type of this DataNode
      • allowsChildren

        public boolean allowsChildren()
        Description copied from class: DefaultDataNode
        The DefaultDataNode implementation of this method returns false.
        Specified by:
        allowsChildren in interface DataNode
        Overrides:
        allowsChildren in class DefaultDataNode
        Returns:
        true if the node is of a type which can have child nodes, false otherwise
      • getChildIterator

        public java.util.Iterator getChildIterator()
        Description copied from class: DefaultDataNode
        The DefaultDataNode implementation of this method throws UnsupportedOperationException (DefaultDataNode.allowsChildren() is false).
        Specified by:
        getChildIterator in interface DataNode
        Overrides:
        getChildIterator in class DefaultDataNode
        Returns:
        an Iterator over the children. Each object iterated over should be a DataNode. Behaviour is undefined if this method is called on an object for which allowsChildren returns false.
      • getEntriesAtLevel

        protected java.util.List getEntriesAtLevel​(java.lang.String level)
                                            throws java.io.IOException
        Returns a list of all the entries in this archive whose name starts with a given string.
        Parameters:
        level - the required prefix
        Returns:
        a list of all the TarArchiveEntry objects in this archive whose names begin with level. They appear in the list in the same order as they appear in the archive
        Throws:
        java.io.IOException
      • isMagic

        public static boolean isMagic​(byte[] magic)
        Indicates whether the given bytes look like the start of a tar archive.
        Parameters:
        magic - a buffer of bytes containing at least the first 264 bytes of a potential tar stream
        Returns:
        true if magic looks like the start of a tar stream