|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object org.archive.crawler.settings.SettingsHandler
public abstract class SettingsHandler
An instance of this class holds a hierarchy of settings. More than one instance in memory is allowed so that a new CrawlJob could be configured while another job is running. This class should be subclassed to adapt to a persistent storage.
Field Summary | |
---|---|
(package private) static java.lang.String |
BOOLEAN
|
(package private) static java.lang.String |
DOUBLE
|
(package private) static java.lang.String |
DOUBLE_LIST
|
(package private) static java.lang.String |
FLOAT
|
(package private) static java.lang.String |
FLOAT_LIST
|
(package private) static java.lang.String |
INTEGER
Datatypes supported by the settings framwork |
(package private) static java.lang.String |
INTEGER_LIST
|
(package private) static java.lang.String |
LONG
|
(package private) static java.lang.String |
LONG_LIST
|
(package private) static java.lang.String |
MAP
|
(package private) static java.lang.String |
OBJECT
|
(package private) static java.lang.String |
STRING
|
(package private) static java.lang.String |
STRING_LIST
|
(package private) static java.lang.String |
TEXT
|
(package private) static java.lang.ThreadLocal<SettingsHandler> |
threadContextSettingsHandler
|
(package private) static java.lang.String |
TIMESTAMP
|
Constructor Summary | |
---|---|
SettingsHandler()
Create a new SettingsHandler object. |
Method Summary | |
---|---|
void |
cleanup()
|
void |
clearPerHostSettingsCache()
Clear any per-host settings cached in memory; allows editting of per-host settings files on disk, perhaps in bulk/automated fashion, to take effect in running crawl. |
void |
deleteSettingsObject(CrawlerSettings settings)
Delete a settings object from persistent storage. |
(package private) boolean |
fireValueErrorHandlers(Constraint.FailedCheck error)
Fire events on all registered ValueErrorHandler . |
protected static java.lang.String |
getClassName(java.lang.String typeName)
|
ComplexType |
getComplexTypeByAbsoluteName(CrawlerSettings settings,
java.lang.String absoluteName)
Get a complex type by its absolute name. |
abstract java.util.Collection |
getDomainOverrides(java.lang.String rootDomain)
Will return a Collection of strings with domains that contain 'per' domain overrides (or their subdomains contain them). |
abstract java.util.List |
getListOfAllFiles()
Creates and returns a List of all files comprising the current settings framework. |
ModuleType |
getModule(java.lang.String name)
Get a module by name. |
CrawlerSettings |
getOrCreateSettingsObject(java.lang.String scope)
Get or create CrawlerSettings object for a host or domain. |
CrawlerSettings |
getOrCreateSettingsObject(java.lang.String scope,
java.lang.String refinement)
|
CrawlOrder |
getOrder()
Get the CrawlOrder. |
protected java.lang.String |
getParentScope(java.lang.String scope)
Strip off the leftmost part of a domain name. |
abstract java.io.File |
getPathRelativeToWorkingDirectory(java.lang.String path)
Transforms a relative path so that it is relative to a location that is regarded as a working dir for these settings. |
CrawlerSettings |
getSettings(java.lang.String host)
Get CrawlerSettings object in effect for a host or domain. |
CrawlerSettings |
getSettings(java.lang.String host,
UURI uuri)
Get CrawlerSettings object in effect for a host or domain. |
protected CrawlerSettings |
getSettingsForHost(java.lang.String host)
|
CrawlerSettings |
getSettingsObject(java.lang.String scope)
Get CrawlerSettings object for a host or domain. |
CrawlerSettings |
getSettingsObject(java.lang.String scope,
java.lang.String refinement)
Get CrawlerSettings object for a host/domain and a particular refinement. |
static SettingsHandler |
getThreadContextSettingsHandler()
|
protected static java.lang.String |
getTypeName(java.lang.String className)
|
void |
initialize()
Initialize the SettingsHandler. |
static ModuleType |
instantiateModuleTypeFromClassName(java.lang.String name,
java.lang.String className)
Instatiate a new ModuleType given its name and className. |
protected abstract CrawlerSettings |
readSettingsObject(CrawlerSettings settings)
Read the CrawlerSettings object from persistent storage. |
void |
registerValueErrorHandler(ValueErrorHandler errorHandler)
Register an instance of ValueErrorHandler . |
void |
setErrorReportingLevel(java.util.logging.Level level)
Set the level for which notification of failed constraints will be fired. |
static void |
setThreadContextSettingsHandler(SettingsHandler settingsHandler)
|
protected static java.lang.Object |
StringToType(java.lang.String stringValue,
java.lang.String typeName)
Convert a String object to an object of typeName . |
void |
unregisterValueErrorHandler(ValueErrorHandler errorHandler)
Unregister an instance of ValueErrorHandler . |
abstract void |
writeSettingsObject(CrawlerSettings settings)
Write the CrawlerSettings object to persistent storage. |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
static final java.lang.String INTEGER
static final java.lang.String LONG
static final java.lang.String FLOAT
static final java.lang.String DOUBLE
static final java.lang.String BOOLEAN
static final java.lang.String STRING
static final java.lang.String TEXT
static final java.lang.String OBJECT
static final java.lang.String TIMESTAMP
static final java.lang.String MAP
static final java.lang.String INTEGER_LIST
static final java.lang.String LONG_LIST
static final java.lang.String FLOAT_LIST
static final java.lang.String DOUBLE_LIST
static final java.lang.String STRING_LIST
static java.lang.ThreadLocal<SettingsHandler> threadContextSettingsHandler
Constructor Detail |
---|
public SettingsHandler() throws javax.management.InvalidAttributeValueException
javax.management.InvalidAttributeValueException
Method Detail |
---|
public void initialize()
public void cleanup()
protected java.lang.String getParentScope(java.lang.String scope)
scope
- the domain name.
public ModuleType getModule(java.lang.String name)
name
- the modules name.
public ComplexType getComplexTypeByAbsoluteName(CrawlerSettings settings, java.lang.String absoluteName) throws javax.management.AttributeNotFoundException
settings
- the settings object to query.absoluteName
- the absolute name of the complex type to get.
javax.management.AttributeNotFoundException
- is thrown if no ComplexType by this
name exist.protected static java.lang.String getTypeName(java.lang.String className)
protected static java.lang.String getClassName(java.lang.String typeName)
protected static java.lang.Object StringToType(java.lang.String stringValue, java.lang.String typeName)
typeName
.
stringValue
- string to convert.typeName
- type to convert to. typeName should be one of the
supported types represented by constants in this class.
java.lang.ClassCastException
- is thrown if string could not be converted.public CrawlerSettings getSettings(java.lang.String host)
host
- the host or domain to get the settings for.
getSettingsObject(String)
,
getOrCreateSettingsObject(String)
public CrawlerSettings getSettings(java.lang.String host, UURI uuri)
host
- the host or domain to get the settings for.uuri
- UURI for context.
getSettingsObject(String)
,
getOrCreateSettingsObject(String)
protected CrawlerSettings getSettingsForHost(java.lang.String host)
public CrawlerSettings getSettingsObject(java.lang.String scope)
getSettings(String host)
is that this method will return
null if there is no settings for particular host or domain.
scope
- the host or domain to get the settings for.
getSettings(String)
,
getOrCreateSettingsObject(String)
public CrawlerSettings getSettingsObject(java.lang.String scope, java.lang.String refinement)
scope
- the host or domain to get the settings for.refinement
- the refinement reference to get.
public CrawlerSettings getOrCreateSettingsObject(java.lang.String scope)
getSettingsObject(String)
except that
if there is no settings for this particular host or domain a new settings
object will be returned.
scope
- the host or domain to get or create the settings for.
getSettings(String)
,
getSettingsObject(String)
public CrawlerSettings getOrCreateSettingsObject(java.lang.String scope, java.lang.String refinement)
public abstract void writeSettingsObject(CrawlerSettings settings)
settings
- the settings object to write.protected abstract CrawlerSettings readSettingsObject(CrawlerSettings settings)
settings
- the settings object to be updated with data from the
persistent storage.
public void deleteSettingsObject(CrawlerSettings settings)
settings
- the settings object to delete.public CrawlOrder getOrder()
public static ModuleType instantiateModuleTypeFromClassName(java.lang.String name, java.lang.String className) throws java.lang.reflect.InvocationTargetException
name
- the name for the new ComplexType.className
- the class name of the new ComplexType.
java.lang.reflect.InvocationTargetException
public abstract java.io.File getPathRelativeToWorkingDirectory(java.lang.String path)
path
- A relative path to a file (or directory)
public abstract java.util.Collection getDomainOverrides(java.lang.String rootDomain)
rootDomain
- The domain to get domain overrides for. Examples:
'org', 'archive.org', 'crawler.archive.org' etc.
public void unregisterValueErrorHandler(ValueErrorHandler errorHandler)
ValueErrorHandler
.
errorHandler
- the CalueErrorHandler
to unregister.ValueErrorHandler
,
setErrorReportingLevel(Level)
,
registerValueErrorHandler(ValueErrorHandler)
public void registerValueErrorHandler(ValueErrorHandler errorHandler)
ValueErrorHandler
.
If a ValueErrorHandler is registered, only constraints with level
Level.SEVERE
will throw an InvalidAttributeValueException
.
The ValueErrorHandler will recieve a notification for all failed checks
with level equal or greater than the error reporting level.
errorHandler
- the CalueErrorHandler
to register.ValueErrorHandler
,
setErrorReportingLevel(Level)
,
unregisterValueErrorHandler(ValueErrorHandler)
boolean fireValueErrorHandlers(Constraint.FailedCheck error)
ValueErrorHandler
.
error
- the failed constraints return value.
public void setErrorReportingLevel(java.util.logging.Level level)
level
- the error reporting level.public abstract java.util.List getListOfAllFiles()
The List contains the absolute String path of each file.
The list should contain any configurable files, including such files as seed file and any other files use by the various settings modules.
Implementations of the SettingsHandler that do not use files for permanent storage should return an empty list.
List
of framework files.public void clearPerHostSettingsCache()
public static void setThreadContextSettingsHandler(SettingsHandler settingsHandler)
public static SettingsHandler getThreadContextSettingsHandler()
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |