|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object | +--com.deltax.cpacker.ClassPacker
This class checks and packs togheter in a JAR file all the .class files
necessary to resolve, link and execute a given Java class.
A ClassNameFilter object is used to filter out unwanted classes.
By default, a JavaNameFilter is used, which excludes both
java.* and javax.* classes.
A ClassFileFinder object is used to locate the class files for
building the JAR. By default, the JDK 1.2 class loading scheme is
emulated to retrieve the necessary files, but an arbitrary ClassFileFinder
can be set if diverse class find schemes are necessary.
A FileNameProvider object can be optionally used to specify a file
name for the method createJar.
By default, a DefaultFileNameProvider, which prompts the user for
a file name is used.
Inner Class Summary | |
static interface |
ClassPacker.ClassNameFilter
This inteface defines a class name filter. |
static interface |
ClassPacker.ClassScanListener
This inteface must be implemented by any object interested in listening to scanning events |
static class |
ClassPacker.DefaultFileNameProvider
This class prompts a GUI to ask the user for a file name. |
static class |
ClassPacker.DefaultRmiImplNameProvider
Defines the default conventions for searching implementation classes of Remote interfaces. |
static interface |
ClassPacker.FileNameProvider
This inteface must be implemented by any class providing a file name for the JAR file constructed by createJAR |
static class |
ClassPacker.JavaNameFilter
This class filters out "java.*" and (optionally) "javax.*" class names. |
static class |
ClassPacker.Monitor
This class simply pops up a GUI Frame (Swing) to show the scanning status. |
static class |
ClassPacker.PropertiesImplNameProvider
A class which uses property files to determine implementations for RMI Remote interfaces. |
static interface |
ClassPacker.RmiImplNameProvider
This interface must be implemented by any class providing RMI implementation name conventions for searching implementations of Remote interfaces. |
Constructor Summary | |
ClassPacker(java.lang.Class cls)
|
|
ClassPacker(java.lang.Class cls,
ClassPacker.ClassNameFilter filter)
|
|
ClassPacker(java.lang.String name)
|
|
ClassPacker(java.lang.String name,
ClassPacker.ClassNameFilter filter)
|
Method Summary | |
void |
addScanListener(ClassPacker.ClassScanListener l)
|
int |
countClasses()
|
void |
createForNameUsageReport(java.lang.String clsName,
java.io.PrintStream p)
Creates a report to the given printstream for classes which use Class.forName (and are therefore likely to need manual additions to the JAR file) |
void |
createJar()
Creates a JAR file for the collected classes. |
void |
createJar(java.lang.String jarfile)
Creates a JAR file for the collected classes with the given name |
boolean |
getAppend()
|
java.util.Enumeration |
getClasses()
After a successful scanning, returns the classes set |
ClassFileFinder |
getClassFileFinder()
|
ClassPacker.ClassNameFilter |
getClassNameFilter()
|
boolean |
getCreateManifestFile()
|
ClassPacker.FileNameProvider |
getFileNameProvider()
|
java.lang.String |
getManifestMainClass()
|
java.util.Enumeration |
getNames()
After a successful scanning, returns the names of the classes set |
boolean |
getScanForNameUsage()
|
static void |
main(java.lang.String[] args)
|
void |
removeScanListener(ClassPacker.ClassScanListener l)
|
void |
setAppend(boolean v)
|
void |
setClassFileFinder(ClassFileFinder cff)
|
void |
setClassNameFilter(ClassPacker.ClassNameFilter filter)
|
void |
setCreateManifestFile(boolean v)
|
void |
setFileNameProvider(ClassPacker.FileNameProvider fnn)
|
void |
setIncRMISkel(boolean v)
|
void |
setIncRMIStub(boolean v)
|
void |
setManifestMainClass(java.lang.String c)
|
void |
setRmiImplNameProvider(ClassPacker.RmiImplNameProvider rnp)
|
void |
setScanForNameUsage(boolean v)
|
void |
startScan()
Starts scanning the class. |
Methods inherited from class java.lang.Object |
clone,
equals,
finalize,
getClass,
hashCode,
notify,
notifyAll,
toString,
wait,
wait,
wait |
Constructor Detail |
public ClassPacker(java.lang.String name) throws java.lang.ClassNotFoundException
public ClassPacker(java.lang.String name, ClassPacker.ClassNameFilter filter) throws java.lang.ClassNotFoundException
public ClassPacker(java.lang.Class cls, ClassPacker.ClassNameFilter filter)
public ClassPacker(java.lang.Class cls)
Method Detail |
public ClassFileFinder getClassFileFinder()
public void setClassFileFinder(ClassFileFinder cff)
public ClassPacker.ClassNameFilter getClassNameFilter()
public void setClassNameFilter(ClassPacker.ClassNameFilter filter)
public ClassPacker.FileNameProvider getFileNameProvider()
public void setFileNameProvider(ClassPacker.FileNameProvider fnn)
public void setRmiImplNameProvider(ClassPacker.RmiImplNameProvider rnp)
public void setAppend(boolean v)
public boolean getAppend()
public boolean getCreateManifestFile()
public void setCreateManifestFile(boolean v)
public java.lang.String getManifestMainClass()
public void setManifestMainClass(java.lang.String c)
public void addScanListener(ClassPacker.ClassScanListener l)
public void removeScanListener(ClassPacker.ClassScanListener l)
public java.util.Enumeration getNames()
public java.util.Enumeration getClasses()
public int countClasses()
public void startScan()
public void createJar(java.lang.String jarfile) throws java.lang.ClassNotFoundException, java.io.IOException
jarfile
- the JAR file name. If null, the current FileNameProvider will be usedpublic void setScanForNameUsage(boolean v)
public boolean getScanForNameUsage()
public void setIncRMIStub(boolean v)
public void setIncRMISkel(boolean v)
public void createJar() throws java.lang.ClassNotFoundException, java.io.IOException
public void createForNameUsageReport(java.lang.String clsName, java.io.PrintStream p)
public static void main(java.lang.String[] args)
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |