Class WarURLConnection


  • public class WarURLConnection
    extends java.net.URLConnection
    Facade for a URLConnection that will read a jar and substitute its manifest by the manifest provided here.

    Use Piped streams to avoid having to create temporary files.

    • Constructor Detail

      • WarURLConnection

        public WarURLConnection​(java.net.URL url,
                                java.util.jar.Manifest mf)
                         throws java.io.IOException
        Parameters:
        url - The file url (for example)
        mf - The manifest to use as a replacement to the jar file inside the file url.
        Throws:
        java.io.IOException - if an I/O error occurs.
    • Method Detail

      • substitueManifest

        public static java.io.InputStream substitueManifest​(java.util.jar.Manifest newmanifest,
                                                            java.io.InputStream rawIn)
                                                     throws java.io.IOException
        Use PipedOuputStream and PipedInputStream to do the transformation without making a new temporary file ust to replace the manifest.
        Parameters:
        newmanifest - The new manifest
        rawIn - The file input stream or equivalent. not the jar input stream.
        Returns:
        InputStream of the replaced manifest file
        Throws:
        java.io.IOException - if an I/O error occurs.
      • connect

        public void connect()
                     throws java.io.IOException
        Specified by:
        connect in class java.net.URLConnection
        Throws:
        java.io.IOException
      • getInputStream

        public java.io.InputStream getInputStream()
                                           throws java.io.IOException
        Overrides:
        getInputStream in class java.net.URLConnection
        Throws:
        java.io.IOException
      • addRequestProperty

        public void addRequestProperty​(java.lang.String key,
                                       java.lang.String value)
        Overrides:
        addRequestProperty in class java.net.URLConnection
      • equals

        public boolean equals​(java.lang.Object obj)
        Overrides:
        equals in class java.lang.Object
      • getAllowUserInteraction

        public boolean getAllowUserInteraction()
        Overrides:
        getAllowUserInteraction in class java.net.URLConnection
      • getConnectTimeout

        public int getConnectTimeout()
        Overrides:
        getConnectTimeout in class java.net.URLConnection
      • getContent

        public java.lang.Object getContent()
                                    throws java.io.IOException
        Overrides:
        getContent in class java.net.URLConnection
        Throws:
        java.io.IOException
      • getContent

        public java.lang.Object getContent​(java.lang.Class[] classes)
                                    throws java.io.IOException
        Overrides:
        getContent in class java.net.URLConnection
        Throws:
        java.io.IOException
      • getContentEncoding

        public java.lang.String getContentEncoding()
        Overrides:
        getContentEncoding in class java.net.URLConnection
      • getContentLength

        public int getContentLength()
        Overrides:
        getContentLength in class java.net.URLConnection
      • getContentType

        public java.lang.String getContentType()
        Overrides:
        getContentType in class java.net.URLConnection
      • getDate

        public long getDate()
        Overrides:
        getDate in class java.net.URLConnection
      • getDefaultUseCaches

        public boolean getDefaultUseCaches()
        Overrides:
        getDefaultUseCaches in class java.net.URLConnection
      • getDoInput

        public boolean getDoInput()
        Overrides:
        getDoInput in class java.net.URLConnection
      • getDoOutput

        public boolean getDoOutput()
        Overrides:
        getDoOutput in class java.net.URLConnection
      • getExpiration

        public long getExpiration()
        Overrides:
        getExpiration in class java.net.URLConnection
      • getHeaderField

        public java.lang.String getHeaderField​(int n)
        Overrides:
        getHeaderField in class java.net.URLConnection
      • getHeaderField

        public java.lang.String getHeaderField​(java.lang.String name)
        Overrides:
        getHeaderField in class java.net.URLConnection
      • getHeaderFieldDate

        public long getHeaderFieldDate​(java.lang.String name,
                                       long defaultVal)
        Overrides:
        getHeaderFieldDate in class java.net.URLConnection
      • getHeaderFieldInt

        public int getHeaderFieldInt​(java.lang.String name,
                                     int defaultVal)
        Overrides:
        getHeaderFieldInt in class java.net.URLConnection
      • getHeaderFieldKey

        public java.lang.String getHeaderFieldKey​(int n)
        Overrides:
        getHeaderFieldKey in class java.net.URLConnection
      • getHeaderFields

        public java.util.Map<java.lang.String,​java.util.List<java.lang.String>> getHeaderFields()
        Overrides:
        getHeaderFields in class java.net.URLConnection
      • getIfModifiedSince

        public long getIfModifiedSince()
        Overrides:
        getIfModifiedSince in class java.net.URLConnection
      • getLastModified

        public long getLastModified()
        Overrides:
        getLastModified in class java.net.URLConnection
      • getOutputStream

        public java.io.OutputStream getOutputStream()
                                             throws java.io.IOException
        Overrides:
        getOutputStream in class java.net.URLConnection
        Throws:
        java.io.IOException
      • getPermission

        public java.security.Permission getPermission()
                                               throws java.io.IOException
        Overrides:
        getPermission in class java.net.URLConnection
        Throws:
        java.io.IOException
      • getReadTimeout

        public int getReadTimeout()
        Overrides:
        getReadTimeout in class java.net.URLConnection
      • getRequestProperties

        public java.util.Map<java.lang.String,​java.util.List<java.lang.String>> getRequestProperties()
        Overrides:
        getRequestProperties in class java.net.URLConnection
      • getRequestProperty

        public java.lang.String getRequestProperty​(java.lang.String key)
        Overrides:
        getRequestProperty in class java.net.URLConnection
      • getURL

        public java.net.URL getURL()
        Overrides:
        getURL in class java.net.URLConnection
      • getUseCaches

        public boolean getUseCaches()
        Overrides:
        getUseCaches in class java.net.URLConnection
      • setAllowUserInteraction

        public void setAllowUserInteraction​(boolean allowuserinteraction)
        Overrides:
        setAllowUserInteraction in class java.net.URLConnection
      • setConnectTimeout

        public void setConnectTimeout​(int timeout)
        Overrides:
        setConnectTimeout in class java.net.URLConnection
      • setDefaultUseCaches

        public void setDefaultUseCaches​(boolean defaultusecaches)
        Overrides:
        setDefaultUseCaches in class java.net.URLConnection
      • setDoInput

        public void setDoInput​(boolean doinput)
        Overrides:
        setDoInput in class java.net.URLConnection
      • setDoOutput

        public void setDoOutput​(boolean dooutput)
        Overrides:
        setDoOutput in class java.net.URLConnection
      • setIfModifiedSince

        public void setIfModifiedSince​(long ifmodifiedsince)
        Overrides:
        setIfModifiedSince in class java.net.URLConnection
      • setReadTimeout

        public void setReadTimeout​(int timeout)
        Overrides:
        setReadTimeout in class java.net.URLConnection
      • setRequestProperty

        public void setRequestProperty​(java.lang.String key,
                                       java.lang.String value)
        Overrides:
        setRequestProperty in class java.net.URLConnection
      • setUseCaches

        public void setUseCaches​(boolean usecaches)
        Overrides:
        setUseCaches in class java.net.URLConnection