Package org.pjdbc.sql
Class CompositeTransformer
java.lang.Object
org.pjdbc.sql.AbstractJdbcTransformer
org.pjdbc.sql.CompositeTransformer
- All Implemented Interfaces:
JdbcTransformer
Transformer that chains multiple JdbcTransformers together.
Transformers are applied in order: the output of one transformer becomes the input to the next. This allows composing simple transformers into complex transformation pipelines.
Example
JdbcTransformer composite = new CompositeTransformer()
.add(new SchemaTransformer("tenant_123"))
.add(new WhereTransformer("deleted=false"))
.add(new RenameTransformer().addRename("old_table", "new_table"));
- See Also:
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionadd(JdbcTransformer transformer) Add a transformer to the chain.booleanisEmpty()Check if this composite has any transformers.intsize()Get the number of transformers in this composite.transformParameter(int parameterIndex, Object value, int sqlType) Default implementation returns parameter value unchanged.transformResultValue(int columnIndex, String columnName, Object value, int sqlType) Default implementation returns result value unchanged.transformSql(String sql) Default implementation returns SQL unchanged.
-
Constructor Details
-
CompositeTransformer
public CompositeTransformer()Create an empty CompositeTransformer.
-
-
Method Details
-
add
Add a transformer to the chain.- Parameters:
transformer- the transformer to add- Returns:
- this transformer for chaining
-
isEmpty
public boolean isEmpty()Check if this composite has any transformers.- Returns:
- true if at least one transformer has been added
-
size
public int size()Get the number of transformers in this composite.- Returns:
- the number of transformers
-
transformSql
Description copied from class:AbstractJdbcTransformerDefault implementation returns SQL unchanged.- Specified by:
transformSqlin interfaceJdbcTransformer- Overrides:
transformSqlin classAbstractJdbcTransformer- Parameters:
sql- Original SQL string- Returns:
- Transformed SQL string
- Throws:
SQLException- if transformation fails
-
transformParameter
Description copied from class:AbstractJdbcTransformerDefault implementation returns parameter value unchanged.- Specified by:
transformParameterin interfaceJdbcTransformer- Overrides:
transformParameterin classAbstractJdbcTransformer- Parameters:
parameterIndex- 1-based parameter indexvalue- Original parameter valuesqlType- SQL type from java.sql.Types- Returns:
- Transformed parameter value
- Throws:
SQLException- if transformation fails
-
transformResultValue
public Object transformResultValue(int columnIndex, String columnName, Object value, int sqlType) throws SQLException Description copied from class:AbstractJdbcTransformerDefault implementation returns result value unchanged.- Specified by:
transformResultValuein interfaceJdbcTransformer- Overrides:
transformResultValuein classAbstractJdbcTransformer- Parameters:
columnIndex- 1-based column indexcolumnName- Column name (may be null if not available)value- Original value from ResultSetsqlType- SQL type from java.sql.Types- Returns:
- Transformed value
- Throws:
SQLException- if transformation fails
-