Class HttpZipLocator

java.lang.Object
com.jme3.asset.plugins.HttpZipLocator
All Implemented Interfaces:
AssetLocator

public class HttpZipLocator extends Object implements AssetLocator
HttpZipLocator is similar to ZipLocator, except it allows loading assets from a .ZIP file on the web instead of on the local filesystem.

The root path must be a valid HTTP(S) URL pointing to ZIP or ZIP-like file (such as a JAR). For example,
https://www.example.com/my/sub/path/assets.zip.

The locator is designed in such a way that it does not require downloading the entire .ZIP file from the web in order to load assets from it. Instead, the ZIP header is extracted first, and then is used to lookup assets from within the ZIP file and download them as requested by the user.

  • Constructor Details

    • HttpZipLocator

      public HttpZipLocator()
  • Method Details

    • load

      public void load(URL url) throws IOException
      Throws:
      IOException
    • openStream

      public InputStream openStream(String name) throws IOException
      Throws:
      IOException
    • setRootPath

      public void setRootPath(String path)
      Specified by:
      setRootPath in interface AssetLocator
      Parameters:
      path - The root path where to look for assets. Typically, this method will only be called once for each instance of an asset locator.
    • locate

      public AssetInfo locate(AssetManager manager, AssetKey key)
      Description copied from interface: AssetLocator
      Request to locate an asset. The asset key contains a name identifying the asset. If an asset was not found, null should be returned. The AssetInfo implementation provided should have a proper return value for its AssetInfo.openStream() method.
      Specified by:
      locate in interface AssetLocator
      Parameters:
      manager - for managing assets
      key - identifies the asset to be located
      Returns:
      The AssetInfo that was located, or null if not found.