Skip to content

Commit

Permalink
some helpers
Browse files Browse the repository at this point in the history
  • Loading branch information
jyrimatti committed Apr 2, 2024
1 parent 59b4ceb commit 42e815a
Show file tree
Hide file tree
Showing 2 changed files with 16 additions and 3 deletions.
2 changes: 1 addition & 1 deletion pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
<modelVersion>4.0.0</modelVersion>
<groupId>fi.solita.utils</groupId>
<artifactId>meta-utils</artifactId>
<version>0.12.32</version>
<version>0.12.33</version>
<build>
<resources>
<resource>
Expand Down
17 changes: 15 additions & 2 deletions src/main/java/fi/solita/utils/meta/Helpers.java
Original file line number Diff line number Diff line change
Expand Up @@ -7,9 +7,9 @@
import static fi.solita.utils.functional.Functional.concat;
import static fi.solita.utils.functional.Functional.exists;
import static fi.solita.utils.functional.Functional.filter;
import static fi.solita.utils.functional.Functional.flatMap;
import static fi.solita.utils.functional.Functional.head;
import static fi.solita.utils.functional.Functional.map;
import static fi.solita.utils.functional.Functional.flatMap;
import static fi.solita.utils.functional.Functional.reduce;
import static fi.solita.utils.functional.Functional.zip;
import static fi.solita.utils.functional.FunctionalC.reverse;
Expand Down Expand Up @@ -97,6 +97,10 @@ public static final String containedType(Element e) {
return containedType(type);
}

public static final String containedType(TypeMirror t) {
return containedType(typeMirror2GenericQualifiedName.apply(t));
}

public static final String containedType(String type) {
// FIXME: fancier way to do this?
return type.substring(type.indexOf('<')+1, type.lastIndexOf('>'));
Expand Down Expand Up @@ -483,7 +487,7 @@ public boolean accept(Element candidate) {
return candidate.getModifiers().contains(Modifier.STATIC);
}
};

public static final boolean isPrivate(Element e) {
return e.getModifiers().contains(Modifier.PRIVATE);
}
Expand Down Expand Up @@ -545,6 +549,15 @@ public final boolean isSameType(TypeMirror type, Class<?> other) {
public final boolean throwsCheckedExceptions(ExecutableElement e) {
return exists(not(uncheckedExceptions), e.getThrownTypes());
}

public final Iterable<? extends TypeMirror> ancestorsInheriting(TypeMirror type, final Class<?> clazz) {
return filter(new Predicate<TypeMirror>() {
@Override
public boolean accept(TypeMirror candidate) {
return isSubtype(candidate, clazz);
}
}, typeUtils.directSupertypes(type));
}
}

public static final Transformer<Long,Long> nanosToMillis = new Transformer<Long,Long>() {
Expand Down

0 comments on commit 42e815a

Please sign in to comment.