Class BlankCondition
- java.lang.Object
-
- com.norconex.importer.handler.condition.impl.BlankCondition
-
- All Implemented Interfaces:
IXMLConfigurable,IImporterCondition
public class BlankCondition extends Object implements IImporterCondition, IXMLConfigurable
A condition based on whether the document content (default) or any of the specified metadata fields are blank or inexistent. For metadata fields, control characters (char <= 32) are removed before evaluating whether their values are empty. Dealing with the document content will rather check if it is
nullor empty (no bytes returned when read).Multiple fields and values:
By default, ALL values for all fields matched by your field matcher expression must be blank for this condition to be
true. You can change the logic to have ANY values to be blank for the condition to betruewithsetMatchAnyBlank(boolean).If no fields are matched, the conditions is also considered empty (
true).XML configuration usage:
<condition class="com.norconex.importer.handler.condition.impl.BlankCondition" matchAnyBlank="[false|true]"> <fieldMatcher> (Optional expression matching fields we want to test if blank, instead of using the document content.) </fieldMatcher> </handler>XML usage example:
<condition class="BlankCondition"> <fieldMatcher method="regex"> (title|dc:title) </fieldMatcher> </condition>The above example condition will return
trueif both "title" or "dc:title" are blank.- Since:
- 3.0.0
- Author:
- Pascal Essiembre
-
-
Constructor Summary
Constructors Constructor Description BlankCondition()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description booleanequals(Object other)TextMatchergetFieldMatcher()inthashCode()booleanisMatchAnyBlank()voidloadFromXML(XML xml)voidsaveToXML(XML xml)voidsetFieldMatcher(TextMatcher fieldMatcher)voidsetMatchAnyBlank(boolean matchAnyBlank)booleantestDocument(HandlerDoc doc, InputStream input, ParseState parseState)Tests a given document.StringtoString()
-
-
-
Method Detail
-
getFieldMatcher
public TextMatcher getFieldMatcher()
-
setFieldMatcher
public void setFieldMatcher(TextMatcher fieldMatcher)
-
isMatchAnyBlank
public boolean isMatchAnyBlank()
-
setMatchAnyBlank
public void setMatchAnyBlank(boolean matchAnyBlank)
-
testDocument
public boolean testDocument(HandlerDoc doc, InputStream input, ParseState parseState) throws ImporterHandlerException
Description copied from interface:IImporterConditionTests a given document.- Specified by:
testDocumentin interfaceIImporterCondition- Parameters:
doc- the document to testinput- document contentparseState- whether the document has been parsed already or not (a parsed document should normally be text-based)- Returns:
trueif the condition evaluates as such- Throws:
ImporterHandlerException- problem reading the document
-
loadFromXML
public void loadFromXML(XML xml)
- Specified by:
loadFromXMLin interfaceIXMLConfigurable
-
saveToXML
public void saveToXML(XML xml)
- Specified by:
saveToXMLin interfaceIXMLConfigurable
-
-