Skip to content

Commit

Permalink
some more predicates/transformers
Browse files Browse the repository at this point in the history
  • Loading branch information
jyrimatti committed Aug 17, 2014
1 parent 9f1ddff commit da1f49a
Show file tree
Hide file tree
Showing 4 changed files with 43 additions and 6 deletions.
Binary file removed JavaBuildPath.png
Binary file not shown.
6 changes: 0 additions & 6 deletions pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -11,12 +11,6 @@
<include>**/*.java</include>
</includes>
</resource>
<resource>
<directory>${project.build.directory}/generated-sources/apt</directory>
<includes>
<include>**/*.java</include>
</includes>
</resource>
</resources>

<plugins>
Expand Down
7 changes: 7 additions & 0 deletions src/main/java/fi/solita/utils/functional/Predicates.java
Original file line number Diff line number Diff line change
Expand Up @@ -131,4 +131,11 @@ public boolean accept(Object candidate) {
return candidate instanceof Serializable || candidate != null && candidate.getClass().isPrimitive();
}
};

public static final Predicate<Option<?>> defined = new Predicate<Option<?>>() {
@Override
public boolean accept(Option<?> candidate) {
return candidate.isDefined();
}
};
}
36 changes: 36 additions & 0 deletions src/main/java/fi/solita/utils/functional/Transformers.java
Original file line number Diff line number Diff line change
Expand Up @@ -194,6 +194,42 @@ public static final <T> Transformer<Either<?,T>,Option<T>> eitherRight() {
return (Transformer<Either<?,T>,Option<T>>)(Object)eitherRight;
}

private static final Transformer<Option<?>,?> get = new Transformer<Option<?>,Object>() {
@Override
public Object transform(Option<?> source) {
return source.get();
}
};
@SuppressWarnings("unchecked")
public static final <T> Transformer<Option<T>,T> get() {
return (Transformer<Option<T>,T>)(Object)get;
}

public static final Transformer<String,Iterable<Character>> it = new Transformer<String,Iterable<Character>>() {
@Override
public Iterable<Character> transform(String source) {
return it(source);
}
};

private static final Transformer<Iterable<?>, Object> head = new Transformer<Iterable<?>,Object>() {
@Override
public Object transform(Iterable<?> source) {
return Functional.head(source);
}
};
@SuppressWarnings("unchecked")
public static final <T> Transformer<Iterable<T>,T> head() {
return (Transformer<Iterable<T>,T>)(Object)head;
}

public static final Transformer<Iterable<?>, Long> size = new Transformer<Iterable<?>,Long>() {
@Override
public Long transform(Iterable<?> source) {
return Functional.size(source);
}
};

private static final Transformer<Tuple._1<?>,?> _1 = new Transformer<Tuple._1<?>,Object>() {
@Override
public Object transform(Tuple._1<?> source) {
Expand Down

0 comments on commit da1f49a

Please sign in to comment.