Class ScriptCondition
- java.lang.Object
-
- com.norconex.importer.handler.condition.AbstractCharStreamCondition
-
- com.norconex.importer.handler.condition.AbstractStringCondition
-
- com.norconex.importer.handler.condition.impl.ScriptCondition
-
- All Implemented Interfaces:
IXMLConfigurable,IImporterCondition
public class ScriptCondition extends AbstractStringCondition
A condition formulated using a scripting language. The default script engine is
JavaScript.Refer to
ScriptRunnerfor more information on using a scripting language with Norconex Importer.How to create a condition with scripting:
The following are variables made available to your script for each document:
- reference: Document unique reference as a string.
- content: Document content, as a string
(of
maxReadSizelength). - metadata: Document metadata as a
Propertiesobject. - parsed: Whether the document was already parsed, as a boolean.
- sectionIndex: Content section index (integer) if it had to be split because it was too large.
The expected return value from your script is a boolean indicating whether the document was matched or not.
XML configuration usage:
<condition class="com.norconex.importer.handler.condition.impl.ScriptCondition" maxReadSize="(max characters to read at once)" sourceCharset="(character encoding)" engineName="(script engine name)"> (your script) </condition>XML usage example:
<!-- Javascript: --> <condition class="ScriptCondition"> <![CDATA[ var isAppleDoc = metadata.getString('fruit') == 'apple' || content.indexOf('Apple') > -1; // Return value: isAppleDoc; ]]> </condition> <!-- Lua: --> <condition class="ScriptCondition" engineName="lua"> <![CDATA[ local isAppleDoc = metadata:getString('fruit') == 'apple' and content:find('Apple') ~= nil; return isAppleDoc; ]]> </condition>- Since:
- 3.0.0
- Author:
- Pascal Essiembre
- See Also:
ScriptRunner
-
-
Constructor Summary
Constructors Constructor Description ScriptCondition()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description booleanequals(Object other)StringgetEngineName()StringgetScript()inthashCode()protected voidloadStringConditionFromXML(XML xml)Loads configuration settings specific to the implementing class.protected voidsaveStringConditionToXML(XML xml)Saves configuration settings specific to the implementing class.voidsetEngineName(String engineName)voidsetScript(String script)protected booleantestDocument(HandlerDoc doc, String input, ParseState parseState, int sectionIndex)StringtoString()-
Methods inherited from class com.norconex.importer.handler.condition.AbstractStringCondition
getMaxReadSize, loadCharStreamConditionFromXML, saveCharStreamConditionToXML, setMaxReadSize, testDocument
-
Methods inherited from class com.norconex.importer.handler.condition.AbstractCharStreamCondition
getSourceCharset, loadFromXML, saveToXML, setSourceCharset, testDocument
-
-
-
-
Method Detail
-
getEngineName
public String getEngineName()
-
setEngineName
public void setEngineName(String engineName)
-
getScript
public String getScript()
-
setScript
public void setScript(String script)
-
testDocument
protected boolean testDocument(HandlerDoc doc, String input, ParseState parseState, int sectionIndex) throws ImporterHandlerException
- Specified by:
testDocumentin classAbstractStringCondition- Throws:
ImporterHandlerException
-
loadStringConditionFromXML
protected void loadStringConditionFromXML(XML xml)
Description copied from class:AbstractStringConditionLoads configuration settings specific to the implementing class.- Specified by:
loadStringConditionFromXMLin classAbstractStringCondition- Parameters:
xml- XML configuration
-
saveStringConditionToXML
protected void saveStringConditionToXML(XML xml)
Description copied from class:AbstractStringConditionSaves configuration settings specific to the implementing class. The parent tag along with the "class" attribute are already written. Implementors must not close the writer.- Specified by:
saveStringConditionToXMLin classAbstractStringCondition- Parameters:
xml- the XML
-
equals
public boolean equals(Object other)
- Overrides:
equalsin classAbstractStringCondition
-
hashCode
public int hashCode()
- Overrides:
hashCodein classAbstractStringCondition
-
toString
public String toString()
- Overrides:
toStringin classAbstractStringCondition
-
-