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

io.github.qudtlib.tools.contribute.Tool Maven / Gradle / Ivy

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

import io.github.qudtlib.model.*;
import io.github.qudtlib.tools.contribute.model.QuantityKindMetadata;
import io.github.qudtlib.tools.contribute.model.UnitMetadata;
import java.io.OutputStream;
import java.util.List;
import java.util.Set;
import java.util.function.Consumer;
import java.util.function.Function;
import java.util.function.Predicate;
import org.eclipse.rdf4j.model.Model;
import org.eclipse.rdf4j.model.Statement;

public interface Tool {
    Unit addDerivedUnit(
            FactorUnits factorUnits,
            Consumer unitConfigurer,
            Consumer metadataConfigurer,
            String nonstandardLocalname);

    Unit addDerivedUnit(
            FactorUnits factorUnits,
            Consumer unitConfigurer,
            Consumer metadataConfigurer);

    Unit addDerivedUnit(FactorUnits factorUnits, Consumer unitConfigurer);

    QuantityKind addQuantityKind(
            FactorUnits factorUnits,
            String localname,
            Consumer quantityKindConfigurer,
            Consumer metadataConfigurer);

    QuantityKind addQuantityKind(
            FactorUnits factorUnits,
            String localname,
            Consumer quantityKindConfigurer);

    Set findUnitBySymbolOrUcumCode(String symbol);

    boolean checkUnitExists(FactorUnits factorUnits);

    boolean checkUnitExists(FactorUnits factorUnits, DerivedUnitSearchMode mode);

    void printFactorUnitTree(Unit unit);

    void printFactorUnitTree(Unit unit, Function unitFormatter);

    void printFactorUnitTree(
            Unit unit, Function unitFormatter, OutputStream out);

    List listUnitsWithSameDimensions(Unit unit);

    boolean checkQuantityKindExists(FactorUnits factorUnits);

    List searchQuantityKinds(String nameRegex);

    String generateJavaCodeStringForFactorUnits(FactorUnits factorUnits);

    void addUnitsForUcumCodeBestEffort(String ucumCode, boolean force);

    void addUnitsForFactorUnitsBestEffort(FactorUnits factorUnits, boolean force);

    Set findExistingQudtUnitsForFactorUnits(FactorUnits factorUnits);

    List parseUcumCodeToFactorUnits(String ucumCode);

    List searchQuantityKinds(Predicate filter);

    void writeOut(Model model, OutputStream out, Predicate statementPredicate);

    void writeOut(Model model, OutputStream out);
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy