@Named("Single word") @Description("Filters single word values from multiple word values.") @Categorized(FilterCategory.class) @Deprecated public class SingleWordFilter implements Filter<ValidationCategory> {
@Named("Expression language (EL) transformer") @Description("Generates a column based on an EL expression") @Categorized({ ScriptingCategory.class }) public class ELTransformer implements Transformer {
@Named("XML decoder") @Description("Decodes XML content into plain text") @Categorized(EncodingCategory.class) public class XmlDecoderTransformer implements Transformer {
@Named("Convert number to IP") @Categorized(NetworkToolsCategory.class) @Description("Converts a number representation of an IPv4 address to it's regular string representation.") public class NumberToIpConverter implements Transformer {
@Named("HTML encoder") @Description("Encodes/escapes plain text into HTML content") @Categorized(EncodingCategory.class) public class HtmlEncoderTransformer implements Transformer {
@Named("Convert IP to number") @Categorized(NetworkToolsCategory.class) @Description( "Converts an IPv4 string to a number value, which makes it appropriate for eg. persisting in a number column.")
@Named("Resolve hostname") @Categorized(NetworkToolsCategory.class) @Description("Resolves the IP of a hostname") public class ResolveHostnameTransformer implements Transformer {
@Named("URL parser") @Description("Retrieve the individual parts of an URL, including protocol, domain, port, path and querystring.") @Categorized({ TextCategory.class }) public class UrlStandardizerTransformer implements Transformer { private static final Logger logger = LoggerFactory.getLogger(UrlStandardizerTransformer.class);
@Named("Format date") @Description("Allows you to format a date as a string by applying your own date format.") @Categorized(DateAndTimeCategory.class) public class FormatDateTransformer implements Transformer { @Configured("Date") InputColumn<Date> dateColumn; @Configured String dateFormat = "yyyy-MM-dd HH:mm:ss"; @Override public OutputColumns getOutputColumns() { return new OutputColumns(String.class, dateColumn.getName() + " (formatted)"); } @Override public String[] transform(final InputRow inputRow) { final Date date = inputRow.getValue(dateColumn); if (date == null) { return new String[] { null }; } final SimpleDateFormat format = new SimpleDateFormat(dateFormat); return new String[] { format.format(date) }; } }
@Named("Compose & write JSON document") @Description("Creates a string representation of a data structure as a JSON (JavaScript Object Notation) document") @Categorized(DataStructuresCategory.class) public class ComposeJsonTransformer implements Transformer {
@Named("XML encoder") @Description("Encodes/escapes plain text into XML content") @Categorized(EncodingCategory.class) public class XmlEncoderTransformer implements Transformer {
@Named("Number range") @Description("A filter that filters out rows where a number value is outside a specified range") @Categorized(FilterCategory.class) public class NumberRangeFilter extends AbstractQueryOptimizedRangeFilter<Number> {
@Categorized(NumbersCategory.class) public class IncrementNumberTransformer implements Transformer {
@Named("Generate UUID") @Description("Generates a universally unique ID") @Categorized(NumbersCategory.class) public class GenerateUUIDTransformer implements Transformer {
@Named("Generate timestamp") @Description("Generates a timestamp representing the millisecond or nanosecond of processing the record") @Categorized(DateAndTimeCategory.class) public class GenerateTimestampTransformer implements Transformer {
@Named("Timestamp converter") @Description("Convert a timestamp (string or number) to a date field. Epoch is assumed to be 1970-01-01.") @Categorized(DateAndTimeCategory.class) public class TimestampConverter implements Transformer {
@Description( "Transformation for rounding a number, typically to the nearest integer, nearest ten, hundred or thousand.") @Categorized(NumbersCategory.class) public class RoundNumberTransformer implements Transformer {
@Named("String length range") @Description("Filter rows based on the length of strings.") @Categorized(FilterCategory.class) public class StringLengthRangeFilter implements Filter<RangeFilterCategory> {
@ExternalDocumentation({ @DocumentationLink(title = "Internationalization in DataCleaner", url = "https://www.youtube.com/watch?v=ApA-nhtLbhI", type = DocumentationType.VIDEO, version = "3.0") }) @Categorized(EncodingCategory.class) public class TransliterateTransformer implements Transformer {
url = "https://docs.oracle.com/javase/tutorial/essential/regex/", type = DocumentationType.TECH, version = "3.0") }) @Categorized(TextCategory.class) public class RegexSearchReplaceTransformer implements Transformer {