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

org.coode.parsers.oppl.variableattribute.StringVariableAttributeSymbol Maven / Gradle / Ivy

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

import org.coode.oppl.Variable;
import org.coode.oppl.function.AttributeName;
import org.coode.oppl.function.GroupVariableAttribute;
import org.coode.oppl.function.RenderingVariableAttribute;
import org.coode.oppl.function.VariableAttribute;
import org.coode.oppl.generated.RegexpGeneratedVariable;
import org.coode.parsers.oppl.OPPLSymbolVisitor;
import org.coode.parsers.oppl.OPPLSymbolVisitorEx;
import org.semanticweb.owlapi.model.OWLObject;

/** @author Luigi Iannone */
public abstract class StringVariableAttributeSymbol extends
        VariableAttributeSymbol> {
    /** @param name
     *            name
     * @param variableAttribute
     *            variableAttribute */
    public StringVariableAttributeSymbol(String name,
            VariableAttribute variableAttribute) {
        super(name, VariableAttributeType.STRING, variableAttribute);
    }

    @Override
    public void accept(OPPLSymbolVisitor visitor) {
        visitor.visitStringVariableAttributeSymbol(this);
    }

    @Override
    public  O accept(OPPLSymbolVisitorEx visitor) {
        return visitor.visitStringVariableAttributeSymbol(this);
    }

    /** @param v
     *            v
     * @return string attribute symbol */
    public static StringVariableAttributeSymbol getRendering(Variable v) {
        return new StringVariableAttributeSymbol(String.format("%s.%s", v.getName(),
                AttributeName.RENDERING), new RenderingVariableAttribute(v)) {};
    }

    /** @param v
     *            v
     * @param index
     *            index
     * @param 
     *            variable type
     * @return string variable attribte symbol */
    public static  StringVariableAttributeSymbol getGroup(
            RegexpGeneratedVariable v, final int index) {
        return new StringVariableAttributeSymbol(String.format("%s.%s(%d)", v.getName(),
                AttributeName.GROUPS, index), new GroupVariableAttribute(v, index)) {
            @Override
            public String toString() {
                return String.format("%s.GROUPS(%d)", getName(), index);
            }
        };
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy