public class GenericPropertiesCreator extends Object
GenericObjectEditor.props
file (= PROPERTY_FILE). It takes
the GenericPropertiesCreator.props
file as a template to
determine all the derived classes by checking the classes in the given
packages (a file with the same name in your home directory overrides the
the one in the weka/gui directory/package). Classifier
class then we specify the superclass ("weka.classifiers.Classifier") and the
packages where to look for ("weka.classifiers.bayes" etc.):
weka.classifiers.Classifier=\ weka.classifiers.bayes,\ weka.classifiers.functions,\ weka.classifiers.lazy,\ weka.classifiers.meta,\ weka.classifiers.trees,\ weka.classifiers.rulesThis creates the same list as stored in the
GenericObjectEditor.props
file, but it will also add
additional classes, that are not listed in the static list (e.g. a newly
developed Classifier), but still in the classpath. UseDyanmic
property in the props file (values: true|false).CREATOR_FILE
,
PROPERTY_FILE
,
USE_DYNAMIC
,
GenericObjectEditor
,
ClassDiscovery
Modifier and Type | Field and Description |
---|---|
protected static String |
CREATOR_FILE
The name of the properties file to use as a template.
|
protected static String |
EXCLUDE_CLASS
the prefix for an (exact) class exclusion
|
protected static String |
EXCLUDE_FILE
The name of the properties file that lists classes/interfaces/superclasses
to exclude from being shown in the GUI.
|
protected static String |
EXCLUDE_INTERFACE
the prefix for an interface exclusion
|
protected static String |
EXCLUDE_SUPERCLASS
the prefix for a superclass exclusion
|
protected Hashtable |
m_Excludes
the hashtable that stores the excludes:
key -> Hashtable(prefix -> Vector of classnames)
|
protected boolean |
m_ExplicitPropsFile
whether an explicit input file was given - if false, the Utils class
is used to locate the props-file
|
protected String |
m_InputFilename
the input file with the packages
|
protected Properties |
m_InputProperties
the "template" properties file with the layout and the packages
|
protected String |
m_OutputFilename
the output props file for the GenericObjectEditor
|
protected Properties |
m_OutputProperties
the output properties file with the filled in classes
|
protected static String |
PROPERTY_FILE
The name of the properties file for the static GenericObjectEditor
(
USE_DYNAMIC = false ) |
static String |
USE_DYNAMIC
name of property whether to use the dynamic approach or the old
GenericObjectEditor.props file
|
static boolean |
VERBOSE
whether to output some debug information
|
Constructor and Description |
---|
GenericPropertiesCreator()
initializes the creator, locates the props file with the Utils class.
|
GenericPropertiesCreator(String filename)
initializes the creator, the given file overrides the props-file search
of the Utils class
|
Modifier and Type | Method and Description |
---|---|
void |
execute()
generates the props-file for the GenericObjectEditor and stores it
|
void |
execute(boolean store)
generates the props-file for the GenericObjectEditor and stores it only
if the the param
store is TRUE. |
protected void |
generateOutputProperties()
fills in all the classes (based on the packages in the input properties
file) into the output properties file
|
boolean |
getExplicitPropsFile()
returns TRUE, if a file is loaded and not the Utils class used for
locating the props file.
|
String |
getInputFilename()
returns the name of the input file
|
Properties |
getInputProperties()
returns the input properties object (template containing the packages)
|
String |
getOutputFilename()
returns the name of the output file
|
Properties |
getOutputProperties()
returns the output properties object (structure like the template, but
filled with classes instead of packages)
|
protected boolean |
isValidClassname(String classname)
checks whether the classname is a valid one, i.e., from a public class
|
protected boolean |
isValidClassname(String key,
String classname)
Checks whether the classname is a valid one for the given key.
|
protected void |
loadInputProperties()
loads the property file containing the layout and the packages of
the output-property-file.
|
static void |
main(String[] args)
for generating props file:
no parameter:
see default constructor
1 parameter (i.e., filename):
see default constructor + setOutputFilename(String)
2 parameters (i.e, filenames):
see constructor with String argument + setOutputFilename(String)
|
void |
setExplicitPropsFile(boolean value)
if FALSE, the locating of a props-file of the Utils-class is used,
otherwise it's tried to load the specified file
|
void |
setInputFilename(String filename)
sets the file to get the information about the packages from.
|
void |
setOutputFilename(String filename)
sets the file to output the properties for the GEO to
|
protected void |
storeOutputProperties()
stores the generated output properties file
|
boolean |
useDynamic()
gets whether the dynamic approach should be used or not
|
public static final boolean VERBOSE
public static final String USE_DYNAMIC
protected static String CREATOR_FILE
PROPERTY_FILE
PROPERTY_FILE
protected static String EXCLUDE_FILE
protected static String EXCLUDE_INTERFACE
protected static String EXCLUDE_CLASS
protected static String EXCLUDE_SUPERCLASS
protected static String PROPERTY_FILE
USE_DYNAMIC
= false
)GenericObjectEditor
,
USE_DYNAMIC
protected String m_InputFilename
protected String m_OutputFilename
protected Properties m_InputProperties
protected Properties m_OutputProperties
protected boolean m_ExplicitPropsFile
protected Hashtable m_Excludes
public GenericPropertiesCreator() throws Exception
Exception
- if loading of CREATOR_FILE failsCREATOR_FILE
,
Utils.readProperties(String)
,
loadInputProperties()
public GenericPropertiesCreator(String filename) throws Exception
filename
- the file containing the packages to create a props file fromException
- if loading of the file failsCREATOR_FILE
,
Utils.readProperties(String)
,
loadInputProperties()
public void setExplicitPropsFile(boolean value)
value
- if true the specified file will be loaded not via the
Utils-classUtils.readProperties(String)
,
loadInputProperties()
public boolean getExplicitPropsFile()
Utils.readProperties(String)
,
loadInputProperties()
public String getOutputFilename()
public void setOutputFilename(String filename)
filename
- the filename for the outputpublic String getInputFilename()
public void setInputFilename(String filename)
filename
- the filename for the inputsetExplicitPropsFile(boolean)
public Properties getInputProperties()
public Properties getOutputProperties()
protected void loadInputProperties()
m_InputProperties
,
m_InputFilename
public boolean useDynamic()
protected boolean isValidClassname(String classname)
classname
- the classname to checkprotected boolean isValidClassname(String key, String classname)
key
- the property keyclassname
- the classname to checkEXCLUDE_FILE
protected void generateOutputProperties() throws Exception
Exception
- if something goes wrongm_OutputProperties
protected void storeOutputProperties() throws Exception
Exception
- if the saving failsm_OutputProperties
,
m_OutputFilename
public void execute() throws Exception
Exception
- if something goes wrongexecute(boolean)
public void execute(boolean store) throws Exception
store
is TRUE. If it is FALSE then the
generated properties file can be retrieved via the getOutputProperties
method.store
- if TRUE then the properties file is stored to the stored
filenameException
- if something goes wronggetOutputFilename()
,
setOutputFilename(String)
,
getOutputProperties()
public static void main(String[] args) throws Exception
args
- the commandline argumentsException
- if something goes wrongGenericPropertiesCreator()
,
GenericPropertiesCreator(String)
,
setOutputFilename(String)
Copyright © 2015 University of Waikato, Hamilton, NZ. All rights reserved.