Overview | Package | Class | Tree | Index | Help

Oracle® Coherence Java API Reference
v3.5.3
E15583-01
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## com.tangosol.coherence.servlet
Class WebPluginInstaller.ApplyPatch

    java.lang.Object
      com.tangosol.util.Base
          com.tangosol.coherence.servlet.WebPluginInstaller.ApplyPatch

Enclosing class:
  WebPluginInstaller

    public abstract static class WebPluginInstaller.ApplyPatch

extends Base

Abstract base class for all command line utilities that modify web container libraries to support extension.

Field Summary
`static byte[]` | `BLOCK_BUF` The buffer to use for buffered I/O.
`static int` | `BLOCK_SIZE` The size (in bytes) to perform buffered I/O on.
`static java.lang.String` | `INSTALL_DESCRIPTOR` The name of the XML file that contains information about the plugin installation.
`protected java.io.File` | `m_fileLib` The target web container library file.
`static java.lang.String` | `MANIFEST_NAME` The JAR manifest file name.

Constructor Summary
`WebPluginInstaller.ApplyPatch()` Default constructor.

Method Summary
`protected java.lang.String` | `convertClassToEntry(java.lang.String sClass)` Convert the given Java class name to its corresponding Jar entry name.
`protected java.lang.String` | `convertEntryToClass(java.lang.String sEntry)` Convert the given Jar entry name to its corresponding Java class name.
`protected void` | `copyEntry(ApplicationEntry entry, ApplicationReader reader, ApplicationWriter writer)` Copy an entry from one application archive to another.
`protected void` | `createDelegateEntry(ApplicationEntry entry, ApplicationReader reader, ApplicationWriter writer)` Create a new delegate class entry that extends the given class entry and delegates all methods to a wrapped instance of the class entry.
`protected void` | `createDelegateMethod(ClassFile classfile, Method method, java.lang.String sClass, Method methodGet)` Creates a delegate method in the given ClassFile that delegates the given method to the object returned by the given accessor method.
`protected void` | `extendEntry(ApplicationEntry entry, ApplicationReader reader, ApplicationWriter writer)` Process the given class entry, making any non-private final methods non-final and if necessary, adding a default contructor.
`abstract java.lang.String` | `getContainerName()` Return the name of the target web container for this utility.
`java.io.File` | `getLibrary()` Return the library to be patched by this utility.
`abstract java.lang.String` | `getLibraryName()` Return the name of the web container library modified by this utility.
`abstract void` | `init(java.io.File fileDir)` Initialize the utility with the installation directory of the target web container.
`void` | `install()` Install extension classes.
`protected abstract void` | `processEntry(ApplicationEntry entry, ApplicationReader reader, ApplicationWriter writer)` Perform any necessary processing on the given class entry.
`protected byte[]` | `readEntry(ApplicationEntry entry, ApplicationReader reader)` Read an entry and return its content.
`protected java.lang.String` | `readManifestAttribute(java.io.File fileJar, java.lang.String sName)` Read and return the value of the main Manifest attribute with the given name from the Manifest file contained in the specified JAR file.
`protected void` | `setLibrary(java.io.File fileLib)` Set the library to be patched by this utility.
`void` | `uninstall()` Uninstall extension classes.
`protected void` | `writeEntry(ApplicationEntry entry, ApplicationWriter writer, byte[] ab)` Write the contents of an entry.

Field Detail

### INSTALL_DESCRIPTOR

    public static final java.lang.String INSTALL_DESCRIPTOR

  The name of the XML file that contains information about the plugin installation.

  See Also:
    Constant Field Values

### BLOCK_SIZE

    public static final int BLOCK_SIZE

  The size (in bytes) to perform buffered I/O on.

  See Also:
    Constant Field Values

### BLOCK_BUF

    public static final byte[] BLOCK_BUF

  The buffer to use for buffered I/O.

### MANIFEST_NAME

    public static final java.lang.String MANIFEST_NAME

  The JAR manifest file name.

  See Also:
    Constant Field Values

### m_fileLib

    protected java.io.File m_fileLib

  The target web container library file.

Constructor Detail

### WebPluginInstaller.ApplyPatch

    public WebPluginInstaller.ApplyPatch()

  Default constructor.

Method Detail

### init

    public abstract void init(java.io.File fileDir)

  Initialize the utility with the installation directory of the target web container. This method will be called immediately after construction but before the `install()` or `uninstall()` is called. If the given directory does not exist or is not an installation directory of a web container of the appropriate type, an exception must be thrown. Implementations of this method must call `setLibrary(File)` with the resolved target web container library before returning.

  Parameters:
    `fileDir` - the installation directory of the target web container

### getContainerName

    public abstract java.lang.String getContainerName()

  Return the name of the target web container for this utility.

  Returns:
    the target web container name

### getLibraryName

    public abstract java.lang.String getLibraryName()

  Return the name of the web container library modified by this utility.

  Returns:
    the target web container library

### processEntry

    protected abstract void processEntry(ApplicationEntry entry,
                                         ApplicationReader reader,
                                         ApplicationWriter writer)
                                  throws java.io.IOException

  Perform any necessary processing on the given class entry.

  Parameters:
    `entry` - the ApplicationEntry to process
    `reader` - the ApplicationReader used to read from a JAR file
    `writer` - the ApplicationWriter used to write to a JAR file
  Throws:
    `java.io.IOException` - on processing error

### install

    public void install()

  Install extension classes.

### uninstall

    public void uninstall()

  Uninstall extension classes.

### convertClassToEntry

    protected java.lang.String convertClassToEntry(java.lang.String sClass)

  Convert the given Java class name to its corresponding Jar entry name.

  Parameters:
    `sClass` - the Java class name to convert
  Returns:
    the Jar entry name that corresponds to the given Java class name

### convertEntryToClass

    protected java.lang.String convertEntryToClass(java.lang.String sEntry)

  Convert the given Jar entry name to its corresponding Java class name.

  Parameters:
    `sEntry` - the Jar entry name to convert
  Returns:
    the Java class name that corresponds to the given Jar entry name

### readManifestAttribute

    protected java.lang.String readManifestAttribute(java.io.File fileJar,
                                                     java.lang.String sName)

  Read and return the value of the main Manifest attribute with the given name from the Manifest file contained in the specified JAR file.

  Parameters:
    `fileJar` - the File object that represents the target JAR file
    `sName` - the name of the main Manifest attribute to read
  Returns:
    the value of the specified main Manifest attribute or null if the attribute does not exist or could not be read

### readEntry

    protected byte[] readEntry(ApplicationEntry entry,
                               ApplicationReader reader)
                        throws java.io.IOException

  Read an entry and return its content.

  Parameters:
    `entry` - the ApplicationEntry to process
    `reader` - the ApplicationReader to read from a JAR file
  Returns:
    the entry contents, as a byte array
  Throws:
    `java.io.IOException` - on I/O error

### writeEntry

    protected void writeEntry(ApplicationEntry entry,
                              ApplicationWriter writer,
                              byte[] ab)
                       throws java.io.IOException

  Write the contents of an entry.

  Parameters:
    `entry` - the ApplicationEntry to process
    `writer` - the ApplicationWriter to write to a JAR file
    `ab` - the entry contents, as a byte array
  Throws:
    `java.io.IOException` - on I/O error

### copyEntry

    protected void copyEntry(ApplicationEntry entry,
                             ApplicationReader reader,
                             ApplicationWriter writer)
                      throws java.io.IOException

  Copy an entry from one application archive to another.

  Parameters:
    `entry` - the ApplicationEntry to process
    `reader` - the ApplicationReader to read from a JAR file
    `writer` - the ApplicationWriter to write to a JAR file
  Throws:
    `java.io.IOException` - on I/O error

### extendEntry

    protected void extendEntry(ApplicationEntry entry,
                               ApplicationReader reader,
                               ApplicationWriter writer)
                        throws java.io.IOException

  Process the given class entry, making any non-private final methods non-final and if necessary, adding a default contructor.

  Parameters:
    `entry` - the ApplicationEntry to process
    `reader` - the ApplicationReader used to read from a JAR file
    `writer` - the ApplicationWriter used to write to a JAR file
  Throws:
    `java.io.IOException` - on processing error

### createDelegateEntry

    protected void createDelegateEntry(ApplicationEntry entry,
                                       ApplicationReader reader,
                                       ApplicationWriter writer)
                                throws java.io.IOException

  Create a new delegate class entry that extends the given class entry and delegates all methods to a wrapped instance of the class entry.

  Parameters:
    `entry` - the ApplicationEntry for which a delegate is created
    `reader` - the ApplicationReader used to read from a JAR file
    `writer` - the ApplicationWriter used to write to a JAR file
  Throws:
    `java.io.IOException` - on processing error

### createDelegateMethod

    protected void createDelegateMethod(ClassFile classfile,
                                        Method method,
                                        java.lang.String sClass,
                                        Method methodGet)

  Creates a delegate method in the given ClassFile that delegates the given method to the object returned by the given accessor method.

  Parameters:
    `classfile` - the ClassFile to which to add the delegate method
    `method` - the method to delegate
    `sClass` - the name of the class in which the target method is declared
    `methodGet` - the accessor method that returns the target object

### getLibrary

    public java.io.File getLibrary()

  Return the library to be patched by this utility.

  Returns:
    the library to be patched

### setLibrary

    protected void setLibrary(java.io.File fileLib)

  Set the library to be patched by this utility.

  Parameters:
    `fileLib` - the library to be patched

Overview | Package | Class | Tree | Index | Help

Oracle® Coherence Java API Reference
v3.5.3
E15583-01
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

Copyright © 2000, 2010, Oracle. All rights reserved.