org.jumpmind.symmetric.ext
Class TemplatedPublisherFilter
java.lang.Object
org.jumpmind.symmetric.ext.AbstractTextPublisherFilter
org.jumpmind.symmetric.ext.TemplatedPublisherFilter
- All Implemented Interfaces:
- IExtensionPoint, INodeGroupExtensionPoint, IPublisherFilter, IBatchListener, IDataLoaderFilter, org.springframework.beans.factory.BeanNameAware
public class TemplatedPublisherFilter
- extends AbstractTextPublisherFilter
A convenience class that allows the end user to template a message using
SymmetricDS filter data.
You may use %COLUMN% formatted tokens in your template data which will be
replaced by data coming in through the filter. The following tokens are also
supported:
- %DMLTYPE% - evaluates to INSERT, UPDATE or DELETE
- %TIMESTAMP% - evaluates to ms value returned by
System.currentTimeInMillis()
If you have special formatting needs, implement the TemplatedPublisherFilter.IFormat interface
and map your formatter to the column you want to 'massage.'
|
Method Summary |
protected java.lang.String |
addTextElementForDelete(IDataLoaderContext ctx,
java.lang.String[] keys)
|
protected java.lang.String |
addTextElementForInsert(IDataLoaderContext ctx,
java.lang.String[] data)
|
protected java.lang.String |
addTextElementForUpdate(IDataLoaderContext ctx,
java.lang.String[] data,
java.lang.String[] keys)
|
protected java.lang.String |
addTextFooter(IDataLoaderContext ctx)
|
protected java.lang.String |
addTextHeader(IDataLoaderContext ctx)
|
protected java.lang.String |
fillOutTemplate(StatementBuilder.DmlType dmlType,
java.lang.String template,
IDataLoaderContext ctx,
java.lang.String[] data,
java.lang.String[] keys)
|
protected java.lang.String |
format(java.lang.String col,
java.lang.String data)
|
protected java.lang.String |
replace(java.lang.String template,
java.lang.String token,
java.lang.String value)
|
void |
setColumnNameToDataFormatter(java.util.Map<java.lang.String,TemplatedPublisherFilter.IFormat> columnNameToDataFormatter)
|
void |
setContentTableTemplate(java.lang.String contentTableTemplate)
|
void |
setDataFilter(IDataLoaderFilter dataFilter)
|
void |
setFooterTableTemplate(java.lang.String footerTableTemplate)
|
void |
setHeaderTableTemplate(java.lang.String headerTableTemplate)
|
void |
setProcessDelete(boolean processDeletes)
|
void |
setProcessInsert(boolean processInserts)
|
void |
setProcessUpdate(boolean processUpdates)
|
| Methods inherited from class org.jumpmind.symmetric.ext.AbstractTextPublisherFilter |
batchComplete, doesTextExistToPublish, filterDelete, filterInsert, filterUpdate, getFromCache, getNodeGroupIdsToApplyTo, isAutoRegister, logCount, setAutoRegister, setBeanName, setLoadDataInTargetDatabase, setMessagesSinceLastLogOutput, setMinTimeInMsBetweenLogOutput, setNodeGroupIdToApplyTo, setPublisher, setTableName |
| Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
TemplatedPublisherFilter
public TemplatedPublisherFilter()
addTextElementForDelete
protected java.lang.String addTextElementForDelete(IDataLoaderContext ctx,
java.lang.String[] keys)
- Specified by:
addTextElementForDelete in class AbstractTextPublisherFilter
addTextElementForInsert
protected java.lang.String addTextElementForInsert(IDataLoaderContext ctx,
java.lang.String[] data)
- Specified by:
addTextElementForInsert in class AbstractTextPublisherFilter
addTextElementForUpdate
protected java.lang.String addTextElementForUpdate(IDataLoaderContext ctx,
java.lang.String[] data,
java.lang.String[] keys)
- Specified by:
addTextElementForUpdate in class AbstractTextPublisherFilter
addTextFooter
protected java.lang.String addTextFooter(IDataLoaderContext ctx)
- Specified by:
addTextFooter in class AbstractTextPublisherFilter
addTextHeader
protected java.lang.String addTextHeader(IDataLoaderContext ctx)
- Specified by:
addTextHeader in class AbstractTextPublisherFilter
fillOutTemplate
protected java.lang.String fillOutTemplate(StatementBuilder.DmlType dmlType,
java.lang.String template,
IDataLoaderContext ctx,
java.lang.String[] data,
java.lang.String[] keys)
format
protected java.lang.String format(java.lang.String col,
java.lang.String data)
replace
protected java.lang.String replace(java.lang.String template,
java.lang.String token,
java.lang.String value)
setColumnNameToDataFormatter
public void setColumnNameToDataFormatter(java.util.Map<java.lang.String,TemplatedPublisherFilter.IFormat> columnNameToDataFormatter)
setProcessDelete
public void setProcessDelete(boolean processDeletes)
setProcessInsert
public void setProcessInsert(boolean processInserts)
setProcessUpdate
public void setProcessUpdate(boolean processUpdates)
setHeaderTableTemplate
public void setHeaderTableTemplate(java.lang.String headerTableTemplate)
setFooterTableTemplate
public void setFooterTableTemplate(java.lang.String footerTableTemplate)
setContentTableTemplate
public void setContentTableTemplate(java.lang.String contentTableTemplate)
setDataFilter
public void setDataFilter(IDataLoaderFilter dataFilter)
Copyright © 2007-2008. All Rights Reserved.