public class SplitTagger extends AbstractDocumentTagger
Splits an existing metadata value into multiple values based on a given value separator. The "toField" argument is optional (the same field will be used to store the splits if no "toField" is specified").
Can be used both as a pre-parse or post-parse handler.
<tagger class="com.norconex.importer.handler.tagger.impl.SplitTagger"> <restrictTo caseSensitive="[false|true]" field="(name of header/metadata field name to match)"> (regular expression of value to match) </restrictTo> <!-- multiple "restrictTo" tags allowed (only one needs to match) --> <split fromField="sourceFieldName" toField="targetFieldName" regex="[false|true]"> <separator>(separator value)</separator> </split> <!-- multiple split tags allowed --> </tagger>
The following example splits a single value field holding a comma-separated list into multiple values.
<tagger class="com.norconex.importer.handler.tagger.impl.SplitTagger"> <split fromField="myField" regex="true"> <separator>\s*,\s*</separator> </split> </tagger>
Modifier and Type | Class and Description |
---|---|
static class |
SplitTagger.Split |
Constructor and Description |
---|
SplitTagger() |
Modifier and Type | Method and Description |
---|---|
void |
addSplit(String fromField,
String separator,
boolean regex) |
void |
addSplit(String fromField,
String toField,
String separator,
boolean regex) |
boolean |
equals(Object other) |
List<SplitTagger.Split> |
getSplits() |
int |
hashCode() |
protected void |
loadHandlerFromXML(org.apache.commons.configuration.XMLConfiguration xml)
Loads configuration settings specific to the implementing class.
|
void |
removeSplit(String fromField) |
protected void |
saveHandlerToXML(EnhancedXMLStreamWriter writer)
Saves configuration settings specific to the implementing class.
|
void |
tagApplicableDocument(String reference,
InputStream document,
ImporterMetadata metadata,
boolean parsed) |
String |
toString() |
tagDocument
addRestriction, addRestriction, addRestrictions, clearRestrictions, detectCharsetIfBlank, getRestrictions, isApplicable, loadFromXML, removeRestriction, removeRestriction, saveToXML
public void tagApplicableDocument(String reference, InputStream document, ImporterMetadata metadata, boolean parsed) throws ImporterHandlerException
tagApplicableDocument
in class AbstractDocumentTagger
ImporterHandlerException
public List<SplitTagger.Split> getSplits()
public void removeSplit(String fromField)
protected void loadHandlerFromXML(org.apache.commons.configuration.XMLConfiguration xml) throws IOException
AbstractImporterHandler
loadHandlerFromXML
in class AbstractImporterHandler
xml
- xml configurationIOException
- could not load from XMLprotected void saveHandlerToXML(EnhancedXMLStreamWriter writer) throws XMLStreamException
AbstractImporterHandler
saveHandlerToXML
in class AbstractImporterHandler
writer
- the xml writerXMLStreamException
- could not save to XMLpublic boolean equals(Object other)
equals
in class AbstractImporterHandler
public int hashCode()
hashCode
in class AbstractImporterHandler
public String toString()
toString
in class AbstractImporterHandler
Copyright © 2009–2021 Norconex Inc.. All rights reserved.