All Downloads are FREE. Search and download functionalities are using the official Maven repository.

io.github.qudtlib.tools.contribute.support.SelectionHelper Maven / Gradle / Ivy

There is a newer version: 6.8.0
Show newest version
package io.github.qudtlib.tools.contribute.support;

import io.github.qudtlib.Qudt;
import io.github.qudtlib.model.QuantityKind;
import io.github.qudtlib.model.Unit;
import java.util.List;
import java.util.Set;
import java.util.stream.Collectors;

public class SelectionHelper {
    public static List getUnitsAssociatedWithQuantityKind(QuantityKind quantityKind) {
        return Qudt.allUnits().stream()
                .filter(u -> u.getQuantityKinds().contains(quantityKind))
                .collect(Collectors.toList());
    }

    public static Set getQuantityKindsByDimensionVector(String dimensionVectorIri) {
        return Qudt.allQuantityKinds().stream()
                .filter(
                        qk ->
                                qk.getDimensionVectorIri()
                                        .map(dv -> dv.equals(dimensionVectorIri))
                                        .orElse(false))
                .collect(Collectors.toSet());
    }

    public static Set getUnitsByDimensionVector(String dimensionVectorIri) {
        return Qudt.allUnits().stream()
                .filter(
                        unit ->
                                unit.getDimensionVectorIri()
                                        .map(dv -> dv.equals(dimensionVectorIri))
                                        .orElse(false))
                .collect(Collectors.toSet());
    }

    public static boolean hasOtherUnitsAssociated(QuantityKind quantityKind, Unit except) {
        List ret = getUnitsAssociatedWithQuantityKind(quantityKind);
        ret.remove(except);
        return !ret.isEmpty();
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy