@SuppressWarnings({"unchecked", "rawtypes"}) private Mutator<BE, E, B, U, String> createMutator(Transaction<BE> tx) { return (Mutator<BE, E, B, U, String>) ElementTypeVisitor.accept( Inventory.types().byElement(context.entityClass).getSegmentType(), new ElementTypeVisitor<Mutator<BE, ?, ?, ?, String>, Void>() { @Override public Mutator<BE, ?, ?, ?, String> visitTenant(Void parameter) {
@SuppressWarnings({"unchecked", "rawtypes"}) default <E extends Entity, B extends Entity.Blueprint> Stream<FullNode> getChildNodes(RelativePath parent, Class<E> childType) { SegmentType childSegmentType = Inventory.types().byElement((Class)childType).getSegmentType(); return getChildren(parent, childType).map(b -> { RelativePath childPath = parent.modified().extend(childSegmentType, b.getId()).get(); return getNode(childPath); }).filter(Objects::nonNull); }
@SuppressWarnings({"unchecked", "rawtypes"}) default <E extends Entity<? extends B, ?>, B extends Entity.Blueprint> Stream<FullNode> getChildNodes(RelativePath parent, Class<E> childType) { SegmentType childSegmentType = Inventory.types().byElement((Class)childType).getSegmentType(); return getChildren(parent, childType).map(b -> { RelativePath childPath = parent.modified().extend(childSegmentType, b.getId()).get(); return getNode(childPath); }).filter(n -> n != null); }