Skip to content

Instantly share code, notes, and snippets.

@kobachi
Created May 8, 2014 08:22
Show Gist options
  • Save kobachi/5aa17f262b2b5b33a85c to your computer and use it in GitHub Desktop.
Save kobachi/5aa17f262b2b5b33a85c to your computer and use it in GitHub Desktop.
Applier.java
public class Applier<E, T> implements Supplier<T>{
private Function<E, T> func;
private E original;
public Applier(E original, Function<E, T> func){
this.func = func;
this.original = original;
}
@Override
public T get(){
return func.apply(original);
}
public static Applier<E, T> of(E original, Function<E, T> func){
return new Applier<E, T>(original, func);
}
}
@kobachi
Copy link
Author

kobachi commented May 8, 2014

CachedSupplier<String> modified = Applier.of("original", new Function<String, String>(){
    @Override
    public String apply(String input){
        return input.replaceAll("original", "modified");
    }
});

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment