blob: d986b94309d609a0604f83a7817cee0f11904968 [file] [log] [blame]
/*
* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements. See the NOTICE file distributed with
* this work for additional information regarding copyright ownership.
* The ASF licenses this file to You 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
<<<<<<< Updated upstream
*
* https://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
=======
*
* https://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
>>>>>>> Stashed changes
* limitations under the License.
*/
package javax.jdo.query;
/** Representation of a string in a query. */
public interface StringExpression extends ComparableExpression<String> {
/**
* Method to return an expression for this expression added to the passed expression (String
* concatenation).
*
* @param expr The other expression
* @return The summation
*/
StringExpression add(Expression<?> expr);
/**
* Method to return an expression for this expression added to the passed string (String
* concatenation).
*
* @param str The other string
* @return The summation
*/
StringExpression add(String str);
/**
* Method to return an expression for the character at a position of this string expression.
*
* @param pos The position
* @return Expression for the character
*/
CharacterExpression charAt(int pos);
/**
* Method to return an expression for the character at a position of this string expression.
*
* @param pos The position
* @return Expression for the character
*/
CharacterExpression charAt(NumericExpression<Integer> pos);
/**
* Method returning an expression for whether this string expression ends with the passed string
* expression.
*
* @param expr The expression that it ends with.
* @return Whether it ends with the other string
*/
BooleanExpression endsWith(StringExpression expr);
/**
* Method returning an expression for whether this string expression ends with the passed string
* expression.
*
* @param str The string that it ends with.
* @return Whether it ends with the other string
*/
BooleanExpression endsWith(String str);
/**
* Method returning an expression for whether this string expression is equal to (ignoring case)
* the passed string expression.
*
* @param expr The expression
* @return Whether they are equal
*/
BooleanExpression equalsIgnoreCase(StringExpression expr);
/**
* Method returning an expression for whether this string expression is equal to (ignoring case)
* the passed string.
*
* @param str The string
* @return Whether they are equal
*/
BooleanExpression equalsIgnoreCase(String str);
/**
* Method to return an expression for the position of the passed string in this string.
*
* @param expr The other string
* @return Expression for the position of the passed string
*/
NumericExpression<Integer> indexOf(StringExpression expr);
/**
* Method to return an expression for the position of the passed string in this string.
*
* @param str The other string
* @return Expression for the position of the passed string
*/
NumericExpression<Integer> indexOf(String str);
/**
* Method to return an expression for the position of the passed string in this string after a
* position.
*
* @param expr The other string
* @param pos Start point of the search
* @return Expression for the position of the passed string
*/
NumericExpression<Integer> indexOf(StringExpression expr, NumericExpression<Integer> pos);
/**
* Method to return an expression for the position of the passed string in this string after a
* position.
*
* @param str The other string
* @param pos Start point of the search
* @return Expression for the position of the passed string
*/
NumericExpression<Integer> indexOf(String str, NumericExpression<Integer> pos);
/**
* Method to return an expression for the position of the passed string in this string after a
* position.
*
* @param str The other string
* @param pos Start point of the search
* @return Expression for the position of the passed string
*/
NumericExpression<Integer> indexOf(String str, int pos);
/**
* Method to return an expression for the position of the passed string in this string after a
* position.
*
* @param expr The other string
* @param pos Start point of the search
* @return Expression for the position of the passed string
*/
NumericExpression<Integer> indexOf(StringExpression expr, int pos);
/**
* Method returning a expression for the length of this string.
*
* @return Expression for the length
*/
NumericExpression<Integer> length();
/**
* Method to return an expression for whether this string expression matches the provided
* expression.
*
* @param expr The expression to match against
* @return Whether this expression matches the provided expression
*/
BooleanExpression matches(StringExpression expr);
/**
* Method to return an expression for whether this string expression matches the provided string.
*
* @param str String literal to match against
* @return Whether this expression matches the provided string
*/
BooleanExpression matches(String str);
/**
* Method returning an expression for whether this string expression starts with the passed string
* expression.
*
* @param expr The expression that it starts with.
* @return Whether it starts with the other string
*/
BooleanExpression startsWith(StringExpression expr);
/**
* Method returning an expression for whether this string expression starts with the passed
* string.
*
* @param str The string that it starts with.
* @return Whether it starts with the other string
*/
BooleanExpression startsWith(String str);
/**
* Method returning an expression for whether the substring of this string beginning at the
* specified index starts with the passed string expression.
*
* @param expr The expression that it starts with.
* @param index where to begin looking in this string
* @return Whether it starts with the other string
*/
BooleanExpression startsWith(StringExpression expr, int index);
/**
* Method returning an expression for whether the substring of this string beginning at the
* specified index starts with the passed string.
*
* @param str The string that it starts with.
* @param index where to begin looking in this string
* @return Whether it starts with the other string
*/
BooleanExpression startsWith(String str, int index);
/**
* Method to return an expression for the substring of this string expression.
*
* @param pos The position of the start point of the substring
* @return Expression for the substring
*/
StringExpression substring(NumericExpression<Integer> pos);
/**
* Method to return an expression for the substring of this string expression.
*
* @param pos The position of the start point of the substring
* @return Expression for the substring
*/
StringExpression substring(int pos);
/**
* Method to return an expression for the substring of this string expression.
*
* @param startPos The position of the start point of the substring (inclusive, origin 0)
* @param endPos The position of the end point of the substring (exclusive, origin 0)
* @return Expression for the substring
*/
StringExpression substring(
NumericExpression<Integer> startPos, NumericExpression<Integer> endPos);
/**
* Method to return an expression for the substring of this string expression.
*
* @param startPos The position of the start point of the substring (inclusive, origin 0)
* @param endPos The position of the end point of the substring (exclusive, origin 0)
* @return Expression for the substring
*/
StringExpression substring(int startPos, int endPos);
/**
* Method to return a StringExpression representing this string expression in lower case.
*
* @return The lower case expression
*/
StringExpression toLowerCase();
/**
* Method to return a StringExpression representing this string expression in upper case.
*
* @return The upper case expression
*/
StringExpression toUpperCase();
/**
* Method returning a string expression with whitespace trimmed from start and end.
*
* @return String expression with whitespace trimmed
*/
StringExpression trim();
}