/** * Collect all Annotation results from a Result * * @param r Result * @return List of all annotation results */ public static List<Relation<?>> getRelations(Result r) { if(r instanceof Relation<?>) { List<Relation<?>> anns = new ArrayList<>(1); anns.add((Relation<?>) r); return anns; } if(r instanceof HierarchicalResult) { return ClassGenericsUtil.castWithGenericsOrNull(List.class, filterResults(((HierarchicalResult) r).getHierarchy(), r, Relation.class)); } return Collections.emptyList(); }
/** * Collect all collection results from a Result * * @param r Result * @return List of collection results */ public static List<CollectionResult<?>> getCollectionResults(Result r) { if(r instanceof CollectionResult<?>) { List<CollectionResult<?>> crs = new ArrayList<>(1); crs.add((CollectionResult<?>) r); return crs; } if(r instanceof HierarchicalResult) { return ClassGenericsUtil.castWithGenericsOrNull(List.class, filterResults(((HierarchicalResult) r).getHierarchy(), r, CollectionResult.class)); } return Collections.emptyList(); }
/** * Collect all clustering results from a Result * * @param r Result * @return List of clustering results */ public static List<Clustering<? extends Model>> getClusteringResults(Result r) { if(r instanceof Clustering<?>) { List<Clustering<?>> crs = new ArrayList<>(1); crs.add((Clustering<?>) r); return crs; } if(r instanceof HierarchicalResult) { return ClassGenericsUtil.castWithGenericsOrNull(List.class, filterResults(((HierarchicalResult) r).getHierarchy(), r, Clustering.class)); } return Collections.emptyList(); }
/** * Return all Iterable results * * @param r Result * @return List of iterable results */ public static List<IterableResult<?>> getIterableResults(Result r) { if(r instanceof IterableResult<?>) { List<IterableResult<?>> irs = new ArrayList<>(1); irs.add((IterableResult<?>) r); return irs; } if(r instanceof HierarchicalResult) { return ClassGenericsUtil.castWithGenericsOrNull(List.class, filterResults(((HierarchicalResult) r).getHierarchy(), r, IterableResult.class)); } return Collections.emptyList(); }