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

com.samskivert.depot.impl.expression.StringFun Maven / Gradle / Ivy

There is a newer version: 1.7.5
Show newest version
//
// Depot library - a Java relational persistence library
// http://code.google.com/p/depot/source/browse/trunk/LICENSE

package com.samskivert.depot.impl.expression;

import com.samskivert.depot.expression.SQLExpression;
import com.samskivert.depot.impl.FragmentVisitor;
import com.samskivert.depot.impl.expression.Function.ManyArgFun;
import com.samskivert.depot.impl.expression.Function.OneArgFun;
import com.samskivert.depot.impl.expression.Function.TwoArgFun;

public abstract class StringFun
{
    public static class Length extends OneArgFun {
        // can take both String or array types (anything that turns into byte[])
        public Length (SQLExpression argument) {
            super(argument);
        }
        public Object accept (FragmentVisitor visitor) {
            return visitor.visit(this);
        }
        public String getCanonicalFunctionName () {
            return "length";
        }
    }

    public static class Lower extends OneArgFun {
        public Lower (SQLExpression argument) {
            super(argument);
        }
        public Object accept (FragmentVisitor visitor) {
            return visitor.visit(this);
        }
        public String getCanonicalFunctionName () {
            return "lower";
        }
    }

    public static class Position extends TwoArgFun {
        public Position (SQLExpression substring, SQLExpression string) {
            super(substring, string);
        }
        public Object accept (FragmentVisitor visitor) {
            return visitor.visit(this);
        }
        public String getCanonicalFunctionName () {
            return "position";
        }
        public SQLExpression getSubString () {
            return _arg1;
        }
        public SQLExpression getString () {
            return _arg2;
        }
    }

    public static class Substring extends ManyArgFun {
        public Substring (SQLExpression string,
                          SQLExpression from, SQLExpression count) {
            super(string, from, count);
        }
        public Object accept (FragmentVisitor visitor) {
            return visitor.visit(this);
        }
        public String getCanonicalFunctionName () {
            return "substring";
        }
    }

    public static class Trim extends OneArgFun {
        public Trim (SQLExpression argument) {
            super(argument);
        }
        public Object accept (FragmentVisitor visitor) {
            return visitor.visit(this);
        }
        public String getCanonicalFunctionName () {
            return "trim";
        }
    }

    public static class Upper extends OneArgFun {
        public Upper (SQLExpression argument) {
            super(argument);
        }
        public Object accept (FragmentVisitor visitor) {
            return visitor.visit(this);
        }
        public String getCanonicalFunctionName () {
            return "upper";
        }
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy