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

com.gs.dmn.ast.TDecisionTable Maven / Gradle / Ivy

There is a newer version: 8.7.3
Show newest version
/*
 * Copyright 2016 Goldman Sachs.
 *
 * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License.
 *
 * You may obtain a copy of the License at
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an
 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.  See the License for the
 * specific language governing permissions and limitations under the License.
 */
package com.gs.dmn.ast;

import com.fasterxml.jackson.annotation.JsonPropertyOrder;

import java.util.ArrayList;
import java.util.List;

@JsonPropertyOrder({
        "id",
        "label",
        "hitPolicy",
        "aggregation",
        "preferredOrientation",
        "outputLabel",
        "otherAttributes",
        "description",
        "input",
        "output",
        "annotation",
        "rule",
        "extensionElements"
})
public class TDecisionTable extends TExpression implements Visitable {
    private List input;
    private List output;
    private List annotation;
    private List rule;
    private THitPolicy hitPolicy;
    private TBuiltinAggregator aggregation;
    private TDecisionTableOrientation preferredOrientation;
    private String outputLabel;

    public List getInput() {
        if (input == null) {
            input = new ArrayList<>();
        }
        return this.input;
    }

    public List getOutput() {
        if (output == null) {
            output = new ArrayList<>();
        }
        return this.output;
    }

    public List getAnnotation() {
        if (annotation == null) {
            annotation = new ArrayList<>();
        }
        return this.annotation;
    }

    public List getRule() {
        if (rule == null) {
            rule = new ArrayList<>();
        }
        return this.rule;
    }

    public THitPolicy getHitPolicyField() {
        return hitPolicy;
    }

    public THitPolicy getHitPolicy() {
        if (hitPolicy == null) {
            return THitPolicy.UNIQUE;
        } else {
            return hitPolicy;
        }
    }

    public void setHitPolicy(THitPolicy value) {
        this.hitPolicy = value;
    }

    public TBuiltinAggregator getAggregation() {
        return aggregation;
    }

    public void setAggregation(TBuiltinAggregator value) {
        this.aggregation = value;
    }

    public TDecisionTableOrientation getPreferredOrientationField() {
        return preferredOrientation;
    }

    public TDecisionTableOrientation getPreferredOrientation() {
        if (preferredOrientation == null) {
            return TDecisionTableOrientation.RULE_AS_ROW;
        } else {
            return preferredOrientation;
        }
    }

    public void setPreferredOrientation(TDecisionTableOrientation value) {
        this.preferredOrientation = value;
    }

    public String getOutputLabel() {
        return outputLabel;
    }

    public void setOutputLabel(String value) {
        this.outputLabel = value;
    }

    @Override
    public  R accept(Visitor visitor, C context) {
        return visitor.visit(this, context);
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy