com.norconex.importer.transformer
Class AbstractRestrictiveTransformer

java.lang.Object
  extended by com.norconex.importer.transformer.AbstractRestrictiveTransformer
All Implemented Interfaces:
IImportHandler, IDocumentTransformer, Serializable
Direct Known Subclasses:
AbstractCharStreamTransformer

public abstract class AbstractRestrictiveTransformer
extends Object
implements IDocumentTransformer

Base class for transformers applying only to certain type of documents

Subclasses implementing IXMLConfigurable should allow this inner configuration:

<restrictTo caseSensitive="[false|true]" > property="(name of header/metadata name to match)" (regular expression of value to match) </restrictTo> by providing a way to restrict applicable documents based on a metadata value (matched via regex). Subclasses can safely be used as either pre-parse or post-parse handlers.

Author:
Pascal Essiembre
See Also:
Serialized Form

Constructor Summary
AbstractRestrictiveTransformer()
           
 
Method Summary
 boolean equals(Object obj)
           
 int hashCode()
           
protected  void loadFromXML(XMLConfiguration xml)
          Convenience method for subclasses to load prometadataperty restrictions).
protected  void saveToXML(XMLStreamWriter writer)
          Convenience method for subclasses to save metadata restrictions.
 void setRestriction(String metaProperty, String regex, boolean caseSensitive)
           
 String toString()
           
 void transformDocument(String reference, InputStream input, OutputStream output, Properties metadata, boolean parsed)
          Transforms document content and metadata.
protected abstract  void transformRestrictedDocument(String reference, InputStream input, OutputStream output, Properties metadata, boolean parsed)
           
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 

Constructor Detail

AbstractRestrictiveTransformer

public AbstractRestrictiveTransformer()
Method Detail

transformDocument

public final void transformDocument(String reference,
                                    InputStream input,
                                    OutputStream output,
                                    Properties metadata,
                                    boolean parsed)
                             throws IOException
Description copied from interface: IDocumentTransformer
Transforms document content and metadata.

Specified by:
transformDocument in interface IDocumentTransformer
Parameters:
reference - document reference (e.g. URL)
input - document to transform
output - transformed document
metadata - document metadata
parsed - whether the document has been parsed already or not (a parsed document should normally be text-based)
Throws:
IOException

setRestriction

public void setRestriction(String metaProperty,
                           String regex,
                           boolean caseSensitive)

transformRestrictedDocument

protected abstract void transformRestrictedDocument(String reference,
                                                    InputStream input,
                                                    OutputStream output,
                                                    Properties metadata,
                                                    boolean parsed)
                                             throws IOException
Throws:
IOException

loadFromXML

protected void loadFromXML(XMLConfiguration xml)
Convenience method for subclasses to load prometadataperty restrictions).

Parameters:
xml - xml configuration

saveToXML

protected void saveToXML(XMLStreamWriter writer)
                  throws XMLStreamException
Convenience method for subclasses to save metadata restrictions.

Parameters:
writer - XML writer
Throws:
XMLStreamException - problem saving extra content types

hashCode

public int hashCode()
Overrides:
hashCode in class Object

equals

public boolean equals(Object obj)
Overrides:
equals in class Object

toString

public String toString()
Overrides:
toString in class Object


Copyright © 2009-2013 Norconex Inc.. All Rights Reserved.