classUtils.pack.util
Class Pack

java.lang.Object
  extended by classUtils.pack.util.Pack

public class Pack
extends java.lang.Object

Pack dependencies on a given set of classes.

The available attributes are:

Additional classpath can be also specified by a nested <classpath> element.

<pack> also supports inclusion of explicitly named additional classes and/or files in the jar. Dependencies for such additional classes will be computed and added too. This is done by declaring internal <additionalclass> and <additionalfileset> elements.

<additionalclass> has a single name attribute which contains the fully qualified name of the class to include. The class must:

For example,

 <additionalclass name="javax.transaction.TransactionManager"/>
 
will add the javax.transaction.TransactionManager class and all its dependent classes to the produced jar.

<additionalfileset> is a standard Ant FileSet structure which specifies a set of files to unconditionally add to the produced jar.

For example,

   <additionalfileset dir="${basedir}">
          <include name="META-INF/services/*"/>
   </additionalfileset>
 

will add any file under the META-INF/service subdirectory of the current ${basedir} directory.

$Revision$

Version:
2.0dj
Author:
Cristiano Sadun, Doug Lyon (Removed ant junk)

Constructor Summary
Pack()
           
 
Method Summary
 void addResource(Resource r)
          Ant entry point for additionalClass subelements.
static void checkForRmiStubs(boolean isRmiDetectionOn, CPoolReader.ClassFile classFile, java.lang.String clsName, ClassFinderUtils classFinderUtils1, ClassMap clsMap)
           
 void copyIgnorableClassesToLocalHashSet()
           
 ClassSpec createAdditionalClass()
          Ant entry point for additionalClass subelements.
static void findDependencies(Pack pack, ClassFinderUtils classFinderUtils1, ClassFilter acceptFilter, java.util.HashSet refusedNames1, boolean resolveFiltered1, java.lang.String className, ClassMap clsMap, boolean failOnUnaccepted)
           
static void findDependencies(Pack pack, java.lang.String clsName, ClassMap clsMap)
           
 java.lang.String getClassesInOutputJarFile()
          Returns the classes.
 java.lang.String getClassPath()
          Returns the classpath.
 java.lang.String getExcludePkg()
          Returns the excludePkg.
 java.lang.String getIncludePkg()
          Returns the includePkg.
 java.lang.String getPackages()
          Returns the packages.
 boolean getResolveFiltered()
          Returns the resolveFiltered.
 java.io.File getTargetJarFile()
          Returns the targetJar.
 boolean hasCacheClassFiles()
          Returns the cacheClassFiles.
 ClassSpec initIgnorableClasses()
          Ant entry point for ignoreClass subelements.
static boolean isRemote(java.lang.String anInterface)
           
static boolean isRemote(java.lang.String[] interfaces)
           
static boolean isUnicastRemoteObject(java.lang.String aClass)
           
 void log(java.lang.String s)
           
 void packIt()
           
static void print(java.lang.String s)
           
static void print(java.lang.String[] interfaces)
           
 void printDependencies()
           
 void setClassesInOutputJarFile(java.lang.String classesInOutputJarFile)
          Sets the classes that will be in the output jar file.
 void setExcludePkg(java.lang.String excludePkg)
          Sets the excludePkg.
 void setHasCacheClassFiles(boolean hasCacheClassFiles)
          Sets the cacheClassFiles.
 void setIncludePkg(java.lang.String includePkg)
          Sets the includePkg.
 void setManifestMainClassName(java.lang.String manifestMainClassName)
          Sets the manifestMainClass.
 void setOutputJarFile(java.io.File targetJarFile)
          Sets the targetJar.
 void setPackages(java.lang.String packages)
          Sets the packages.
 void setResolveFiltered(boolean resolveFiltered)
          Sets the resolveFiltered.
 void validateInput()
           
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

Pack

public Pack()
Method Detail

validateInput

public void validateInput()

copyIgnorableClassesToLocalHashSet

public void copyIgnorableClassesToLocalHashSet()

printDependencies

public void printDependencies()
                       throws java.lang.Exception
Throws:
java.lang.Exception

findDependencies

public static void findDependencies(Pack pack,
                                    java.lang.String clsName,
                                    ClassMap clsMap)
                             throws java.io.IOException,
                                    java.lang.ClassNotFoundException
Throws:
java.io.IOException
java.lang.ClassNotFoundException

findDependencies

public static void findDependencies(Pack pack,
                                    ClassFinderUtils classFinderUtils1,
                                    ClassFilter acceptFilter,
                                    java.util.HashSet refusedNames1,
                                    boolean resolveFiltered1,
                                    java.lang.String className,
                                    ClassMap clsMap,
                                    boolean failOnUnaccepted)
                             throws java.io.IOException,
                                    java.lang.ClassNotFoundException
Parameters:
pack -
classFinderUtils1 -
acceptFilter -
refusedNames1 -
resolveFiltered1 -
className -
clsMap -
failOnUnaccepted -
Throws:
java.io.IOException
java.lang.ClassNotFoundException

checkForRmiStubs

public static void checkForRmiStubs(boolean isRmiDetectionOn,
                                    CPoolReader.ClassFile classFile,
                                    java.lang.String clsName,
                                    ClassFinderUtils classFinderUtils1,
                                    ClassMap clsMap)
                             throws java.io.IOException,
                                    java.lang.ClassNotFoundException
Throws:
java.io.IOException
java.lang.ClassNotFoundException

isUnicastRemoteObject

public static boolean isUnicastRemoteObject(java.lang.String aClass)

isRemote

public static boolean isRemote(java.lang.String[] interfaces)

isRemote

public static boolean isRemote(java.lang.String anInterface)

print

public static void print(java.lang.String[] interfaces)

print

public static void print(java.lang.String s)

getClassesInOutputJarFile

public java.lang.String getClassesInOutputJarFile()
Returns the classes.

Returns:
String

setClassesInOutputJarFile

public void setClassesInOutputJarFile(java.lang.String classesInOutputJarFile)
Sets the classes that will be in the output jar file.

Parameters:
classesInOutputJarFile - The classes to set

getTargetJarFile

public java.io.File getTargetJarFile()
Returns the targetJar.

Returns:
String

setOutputJarFile

public void setOutputJarFile(java.io.File targetJarFile)
Sets the targetJar.

Parameters:
targetJarFile - The targetJar to set

getResolveFiltered

public boolean getResolveFiltered()
Returns the resolveFiltered.

Returns:
boolean

setResolveFiltered

public void setResolveFiltered(boolean resolveFiltered)
Sets the resolveFiltered.

Parameters:
resolveFiltered - The resolveFiltered to set

getExcludePkg

public java.lang.String getExcludePkg()
Returns the excludePkg.

Returns:
String

setExcludePkg

public void setExcludePkg(java.lang.String excludePkg)
Sets the excludePkg.

Parameters:
excludePkg - The excludePkg to set

getClassPath

public java.lang.String getClassPath()
Returns the classpath.

Returns:
String

setManifestMainClassName

public void setManifestMainClassName(java.lang.String manifestMainClassName)
Sets the manifestMainClass.

Parameters:
manifestMainClassName - The manifestMainClass to set

getIncludePkg

public java.lang.String getIncludePkg()
Returns the includePkg.

Returns:
String

setIncludePkg

public void setIncludePkg(java.lang.String includePkg)
Sets the includePkg.

Parameters:
includePkg - The includePkg to set

createAdditionalClass

public ClassSpec createAdditionalClass()
Ant entry point for additionalClass subelements.

Returns:
AdditionalClass an object containing info about the class to add

initIgnorableClasses

public ClassSpec initIgnorableClasses()
Ant entry point for ignoreClass subelements.

Returns:
AdditionalClass an object containing info about the class to add

addResource

public void addResource(Resource r)
Ant entry point for additionalClass subelements.

AdditionalClass an object containing info about the class to add


hasCacheClassFiles

public boolean hasCacheClassFiles()
Returns the cacheClassFiles.

Returns:
boolean

setHasCacheClassFiles

public void setHasCacheClassFiles(boolean hasCacheClassFiles)
Sets the cacheClassFiles.

Parameters:
hasCacheClassFiles - The cacheClassFiles to set

getPackages

public java.lang.String getPackages()
Returns the packages.

Returns:
String

setPackages

public void setPackages(java.lang.String packages)
Sets the packages.

Parameters:
packages - The packages to set

packIt

public void packIt()
            throws java.io.IOException,
                   java.lang.ClassNotFoundException
Throws:
java.io.IOException
java.lang.ClassNotFoundException

log

public void log(java.lang.String s)