org.linkedin.util-core/src/main/java/org/linkedin/util/io/resource/JarResource.java
@Override
  public ResourceInfo getInfo() throws IOException
  {
    // represents the root...
    if(_fullPath.equals(""))
    {
      return new StaticInfo(0, // root is a directory...
                            _jarResource.getInfo().getLastModified()); // last modified is the jar file itself!
    }

    JarFile contentJarFile = getContentJarFile();
    try
    {
      JarEntry jarEntry = contentJarFile.getJarEntry(_fullPath);

      if(jarEntry == null)
        throw new ResourceNotFoundException(toURI());

      return new StaticInfo(jarEntry.getSize(),
                            jarEntry.getTime());
    }
    finally
    {
      contentJarFile.close();
    }
  }
@Override
  public ResourceInfo getInfo() throws IOException
  {
    // represents the root...
    if(_fullPath.equals(""))
    {
      return new StaticInfo(0, // root is a directory...
                            _jarResource.getInfo().getLastModified()); // last modified is the jar file itself!
    }

    JarFile contentJarFile = getContentJarFile();
    try
    {
      JarEntry jarEntry = contentJarFile.getJarEntry(_fullPath);

      if(jarEntry == null)
        throw new ResourceNotFoundException(toURI());

      return new StaticInfo(jarEntry.getSize(),
                            jarEntry.getTime());
    }
    finally
    {
      contentJarFile.close();
    }
  }
Efficiently returns all information about the resource.

@return information about this resource.
@throws IOException if cannot get information