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

org.coode.oppl.function.ValuesVariableAtttribute Maven / Gradle / Ivy

There is a newer version: 5.0.0
Show newest version
package org.coode.oppl.function;

import java.util.Collection;
import java.util.HashSet;
import java.util.Set;

import org.coode.oppl.ConstraintSystem;
import org.coode.oppl.Variable;
import org.coode.oppl.bindingtree.BindingNode;
import org.semanticweb.owlapi.model.OWLObject;

/** @author Luigi Iannone
 * @param 
 *            type */
public class ValuesVariableAtttribute extends
        VariableAttribute> {
    /** @param variable
     *            variable */
    public ValuesVariableAtttribute(Variable variable) {
        super(variable, AttributeName.VALUES);
    }

    @Override
    public 

P accept(OPPLFunctionVisitorEx

visitor) { return visitor.visitValuesVariableAtttribute(this); } @Override public void accept(OPPLFunctionVisitor visitor) { visitor.visitValuesVariableAtttribute(this); } @Override public ValueComputation> getValueComputation( final ValueComputationParameters parameters) { ValueComputation> valueComputation = new ValueComputation>() { @SuppressWarnings("unchecked") @Override public Collection compute( OPPLFunction> opplFunction) { ConstraintSystem constraintSystem = parameters.getConstraintSystem(); Set leaves = constraintSystem.getLeaves(); Set toReturn = null; if (leaves != null) { toReturn = new HashSet(leaves.size()); for (BindingNode bindingNode : leaves) { OWLObject assignmentValue = bindingNode.getAssignmentValue( ValuesVariableAtttribute.this.getVariable(), new SimpleValueComputationParameters(parameters .getConstraintSystem(), bindingNode, parameters .getRuntimeExceptionHandler())); if (assignmentValue != null) { toReturn.add((O) assignmentValue); } } } return toReturn; } }; return valueComputation; } /** @param v * v * @param

* atribute type * @return new value variable attribute */ public static

ValuesVariableAtttribute

getValuesVariableAtttribute(Variable

v) { return new ValuesVariableAtttribute

(v); } }





© 2015 - 2025 Weber Informatics LLC | Privacy Policy