Class BlankCondition
- All Implemented Interfaces:
IXMLConfigurable,IImporterCondition
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 null or 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 be true with setMatchAnyBlank(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 true if both
"title" or "dc:title" are blank.
- Since:
- 3.0.0
- Author:
- Pascal Essiembre
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionbooleaninthashCode()booleanvoidloadFromXML(XML xml) voidvoidsetFieldMatcher(TextMatcher fieldMatcher) voidsetMatchAnyBlank(boolean matchAnyBlank) booleantestDocument(HandlerDoc doc, InputStream input, ParseState parseState) Tests a given document.toString()
-
Constructor Details
-
BlankCondition
public BlankCondition()
-
-
Method Details
-
getFieldMatcher
-
setFieldMatcher
-
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
- Specified by:
loadFromXMLin interfaceIXMLConfigurable
-
saveToXML
- Specified by:
saveToXMLin interfaceIXMLConfigurable
-
equals
-
hashCode
public int hashCode() -
toString
-