All Downloads are FREE. Search and download functionalities are using the official Maven repository.

fun.mike.flapjack.pipeline.lab.Transform Maven / Gradle / Ivy

There is a newer version: 0.0.15
Show newest version
package fun.mike.flapjack.pipeline.lab;

import java.util.function.Function;
import java.util.function.Predicate;

import fun.mike.record.alpha.Record;

public interface Transform {
    TransformResult run(Record record);

    // Map
    static TransformBuilder map(Function mapper) {
        return map(null, null, mapper);
    }

    static TransformBuilder map(String id, Function mapper) {
        return map(id, null, mapper);
    }

    static TransformBuilder map(String id, String description, Function mapper) {
        return new TransformBuilder().map(id, description, mapper);
    }

    // Filter
    static TransformBuilder filter(Predicate predicate) {
        return filter(null, null, predicate);
    }

    static TransformBuilder filter(String id, Predicate predicate) {
        return filter(id, null, predicate);
    }

    static TransformBuilder filter(String id, String description, Predicate predicate) {
        return new TransformBuilder().filter(id, description, predicate);
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy