Package gw.fs.jar

Class JarFileDirectoryImpl

java.lang.Object
gw.fs.jar.JarFileDirectoryImpl
All Implemented Interfaces:
IDirectory, IResource, IJarFileDirectory

public class JarFileDirectoryImpl extends Object implements IJarFileDirectory
  • Field Details

  • Constructor Details

    • JarFileDirectoryImpl

      public JarFileDirectoryImpl(File file)
  • Method Details

    • processJarEntry

      private void processJarEntry(JarEntry e)
    • getInputStream

      public InputStream getInputStream(JarEntry entry) throws IOException
      Throws:
      IOException
    • getOrCreateDirectory

      public JarEntryDirectoryImpl getOrCreateDirectory(String relativeName)
      Specified by:
      getOrCreateDirectory in interface IJarFileDirectory
    • getOrCreateFile

      public JarEntryFileImpl getOrCreateFile(String relativeName)
      Specified by:
      getOrCreateFile in interface IJarFileDirectory
    • dir

      public IDirectory dir(String relativePath)
      Specified by:
      dir in interface IDirectory
    • file

      public IFile file(String path)
      Description copied from interface: IDirectory
      Constucts a file given the path. If the path is relative path, it will be constructed based on the current directory
      Specified by:
      file in interface IDirectory
      Parameters:
      path - the path of the file
      Returns:
      The file that is under the directory with the name
    • mkdir

      public boolean mkdir() throws IOException
      Specified by:
      mkdir in interface IDirectory
      Throws:
      IOException
    • listDirs

      public List<? extends IDirectory> listDirs()
      Specified by:
      listDirs in interface IDirectory
    • listFiles

      public List<? extends IFile> listFiles()
      Specified by:
      listFiles in interface IDirectory
    • relativePath

      public String relativePath(IResource resource)
      Specified by:
      relativePath in interface IDirectory
    • getParent

      public IDirectory getParent()
      Description copied from interface: IResource
      Gets this file's our directory's parent directory.
      Specified by:
      getParent in interface IResource
      Returns:
      this resource's parent directory
    • getName

      public String getName()
      Description copied from interface: IResource
      Gets this file's or directory's name.
      Specified by:
      getName in interface IResource
      Returns:
      this resource's name
    • exists

      public boolean exists()
      Description copied from interface: IResource
      Indicates whether this resource exists.
      Specified by:
      exists in interface IResource
      Returns:
      true if the resource exists
    • delete

      public boolean delete() throws IOException
      Specified by:
      delete in interface IResource
      Throws:
      IOException
    • toURI

      public URI toURI()
      Specified by:
      toURI in interface IResource
    • getPath

      public ResourcePath getPath()
      Specified by:
      getPath in interface IResource
    • isChildOf

      public boolean isChildOf(IDirectory dir)
      Description copied from interface: IResource
      Indicates whether this resource is a direct child of the given directory.
      Specified by:
      isChildOf in interface IResource
      Parameters:
      dir - the directory which would be the parent
      Returns:
      true if this is a direct child of the given directory
    • isDescendantOf

      public boolean isDescendantOf(IDirectory dir)
      Description copied from interface: IResource
      Indicates whether this resource is a descendant of the given directory.
      Specified by:
      isDescendantOf in interface IResource
      Parameters:
      dir - the directory which would be the ancestor
      Returns:
      true if this is a descendant of the given directory
    • toJavaFile

      public File toJavaFile()
      Specified by:
      toJavaFile in interface IResource
    • getJarFile

      public JarFile getJarFile()
    • isJavaFile

      public boolean isJavaFile()
      Specified by:
      isJavaFile in interface IResource
    • isInJar

      public boolean isInJar()
      Specified by:
      isInJar in interface IResource
    • create

      public boolean create()
      Specified by:
      create in interface IResource
    • toString

      public String toString()
      Overrides:
      toString in class Object
    • equals

      public boolean equals(Object obj)
      Overrides:
      equals in class Object
    • clearCaches

      public void clearCaches()
      Specified by:
      clearCaches in interface IDirectory
    • hasChildFile

      public boolean hasChildFile(String path)
      Description copied from interface: IDirectory
      Returns true if the given path represents a child of this directory that exists. It's essentially equivalent to calling file(path).exists(), but in cases where this directory caches its list of children and the path represents a direct child of this directory, this method can be optimized to avoid file system access by looking in the list of cached children.
      Specified by:
      hasChildFile in interface IDirectory
      Parameters:
      path - the path of the file
      Returns:
      true if the path represents a file that exists as a child of this directory
    • isAdditional

      public boolean isAdditional()
      Specified by:
      isAdditional in interface IDirectory
      Returns:
      true if this is an "additional" path for resources not copied to the target classpath e.g., config bullshit.