home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Programming Languages Suite
/
ProgLangD.iso
/
VCAFE.3.0A
/
Main.bin
/
Options.java
< prev
next >
Wrap
Text File
|
1998-10-16
|
10KB
|
516 lines
package com.symantec.itools.tools.archive;
import java.io.IOException;
import java.util.Enumeration;
import java.util.Vector;
import com.symantec.itools.io.FileSystem;
import com.symantec.itools.lang.DynamicClassException;
import com.symantec.itools.lang.AccessiblePlatform;
import com.symantec.itools.util.Properties;
/**
* @author Symantec Internet Tools Division
* @version 1.0
* @since VCafe 3.0
*/
public final class Options
{
private String classpath;
private String type;
private String outputLocation;
private String tempDir;
private String signer;
private String signerArgs;
private String archiverArgs;
private boolean verbose;
private boolean overwrite;
private boolean debug;
private String debugLog;
private String[] files;
private String[] entries;
private TypeArchiver archiver;
private TypeValidator validator;
private TypeSigning sign;
private Properties[] types;
private Properties[] validators;
private Properties[] signers;
private String microsoftTools;
// private String netscapeTools;
private String sunTools;
private Vector listeners;
{
files = new String[0];
entries = new String[0];
listeners = new Vector();
}
public Options()
throws IOException
{
Properties properties;
if(AccessiblePlatform.getJavaVersion() == null)
{
throw new IOException("Platform doesn't know about the Java version");
}
properties = new Properties("/com/symantec/itools/tools/archive/Archiver" +
AccessiblePlatform.getJavaVersion() + ".properties");
classpath = System.getProperty("java.class.path");
validators = properties.getPropertiesList("validators");
types = properties.getPropertiesList("archivers");
signers = properties.getPropertiesList("signers");
}
/**
* @param t TODO
* @since VCafe 3.0
*/
public final void setType(String t)
{
type = t.toLowerCase();
}
/**
* @param location TODO
* @since VCafe 3.0
*/
public final void setOutputLocation(String location)
{
outputLocation = location;
}
/**
* @param dir TODO
* @since VCafe 3.0
*/
public final void setTempDir(String dir)
{
tempDir = FileSystem.getCanonicalPath(dir, true);
}
/**
* @param f TODO
* @since VCafe 3.0
*/
public final void setVerbose(boolean f)
{
verbose = f;
}
/**
* @since VCafe 3.0
*/
public final String getType()
{
return (type);
}
/**
* @since VCafe 3.0
*/
public final String getOutputLocation()
{
return (outputLocation);
}
/**
* @since VCafe 3.0
*/
public final String getTempDir()
{
return (tempDir);
}
/**
* @since VCafe 3.0
*/
public final boolean isVerbose()
{
return (verbose);
}
/**
* @since VCafe 3.0
*/
public final boolean isDebug()
{
return (debug);
}
/**
* @since VCafe 3.0
*/
public final boolean isSigning()
{
if(signer == null)
{
signer = "";
}
return (!(signer.equals("")));
}
/**
* @param array TODO
* @since VCafe 3.0
*/
public final void setFiles(String[] array)
{
files = array;
}
/**
* @param array TODO
* @since VCafe 3.0
*/
public final void setEntries(String[] array)
{
entries = array;
}
/**
* @since VCafe 3.0
*/
public final String[] getFiles()
{
return (files);
}
/**
* @since VCafe 3.0
*/
public final String[] getEntries()
{
return (entries);
}
/**
* @param cp TODO
* @since VCafe 3.0
*/
public final void setClasspath(String cp)
{
classpath = cp;
}
/**
* @since VCafe 3.0
*/
public final String getClasspath()
{
return (classpath);
}
/**
* @param f TODO
* @since VCafe 3.0
*/
public final void setDebug(boolean f)
{
debug = f;
}
/**
* @since VCafe 3.0
*/
public final boolean getDebug()
{
return (debug);
}
/**
* @param log TODO
* @since VCafe 3.0
*/
public final void setDebugLog(String log)
{
debugLog = log;
}
/**
* @since VCafe 3.0
*/
public final String getDebugLog()
{
return (debugLog);
}
/**
* @exception com.symantec.itools.lang.DynamicClassException
* @since VCafe 3.0
*/
public final TypeValidator getValidator()
throws DynamicClassException
{
Class[] argTypes;
Object[] argValues;
if(archiver != null)
{
return (validator);
}
argTypes = new Class[1];
argTypes[0] = Options.class;
argValues = new Object[1];
argValues[0] = this;
for(int i = 0; i < validators.length; i++)
{
if(validators[i].get("name").equals(type))
{
validator = (TypeValidator)validators[i].getNewInstanceOfClass("class", argTypes, argValues);
return (validator);
}
}
return (null);
}
/**
* @exception com.symantec.itools.lang.DynamicClassException
* @since VCafe 3.0
*/
public final TypeArchiver getArchiver()
throws DynamicClassException
{
Class[] argTypes;
Object[] argValues;
if(archiver != null)
{
return (archiver);
}
argTypes = new Class[1];
argTypes[0] = Options.class;
argValues = new Object[1];
argValues[0] = this;
for(int i = 0; i < types.length; i++)
{
if(types[i].get("name").equals(type))
{
archiver = (TypeArchiver)types[i].getNewInstanceOfClass("class", argTypes, argValues);
return (archiver);
}
}
return (null);
}
/**
* @exception com.symantec.itools.lang.DynamicClassException
* @since VCafe 3.0
*/
public final TypeSigning getSign()
throws DynamicClassException
{
Class[] argTypes;
Object[] argValues;
if(sign != null)
{
return (sign);
}
argTypes = new Class[1];
argTypes[0] = Options.class;
argValues = new Object[1];
argValues[0] = this;
for(int i = 0; i < signers.length; i++)
{
if(signers[i].get("name").equals(signer))
{
sign = (TypeSigning)signers[i].getNewInstanceOfClass("class", argTypes, argValues);
return (sign);
}
}
return (null);
}
/**
* @param f TODO
* @since VCafe 3.0
*/
public final void setOverwrite(boolean f)
{
overwrite = f;
}
/**
* @since VCafe 3.0
*/
public final boolean isOverwrite()
{
return (overwrite);
}
/**
* @param str TODO
* @since VCafe 3.0
*/
public final void setSigner(String str)
{
signer = str;
}
/**
* @param str TODO
* @since VCafe 3.0
*/
public final void setSignerArgs(String args)
{
signerArgs = args;
}
/**
* @param str TODO
* @since VCafe 3.0
*/
public final void setArchiverArgs(String args)
{
archiverArgs = args;
}
/**
* @since VCafe 3.0
*/
public final String getSigner()
{
if(signer == null)
{
signer = "";
}
return (signer);
}
/**
* @since VCafe 3.0
*/
public final String getSignerArgs()
{
return (signerArgs);
}
/**
* @since VCafe 3.0
*/
public final String getArchiverArgs()
{
return (archiverArgs);
}
/**
* @param str TODO
* @since VCafe 3.0
*/
public final void setMicrosoftTools(String str)
{
microsoftTools = str;
}
/**
* @since VCafe 3.0
*/
public final String getMicrosoftTools()
{
return (microsoftTools);
}
// /**
// * @param str TODO
// * @since VCafe 3.0
// */
// public final void setNetscapeTools(String str)
// {
// netscapeTools = str;
// }
// /**
// * @since VCafe 3.0
// */
// public final String getNetscapeTools()
// {
// return (netscapeTools);
// }
/**
* @param str TODO
* @since VCafe 3.0
*/
public final void setSunTools(String str)
{
sunTools = str;
}
/**
* @since VCafe 3.0
*/
public final String getSunTools()
{
return (sunTools);
}
/**
* @param listener TODO
* @since VCafe 3.0
*/
public void addArchiverListener(ArchiverListener listener)
{
listeners.addElement(listener);
}
/**
* @since VCafe 3.0
*/
public Enumeration getListeners()
{
return (listeners.elements());
}
}