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

com.github.rutledgepaulv.qbuilders.properties.concrete.StringProperty Maven / Gradle / Ivy

There is a newer version: 1.6
Show newest version
package com.github.rutledgepaulv.qbuilders.properties.concrete;

import com.github.rutledgepaulv.qbuilders.builders.QBuilder;
import com.github.rutledgepaulv.qbuilders.conditions.Condition;
import com.github.rutledgepaulv.qbuilders.properties.virtual.EquitableProperty;
import com.github.rutledgepaulv.qbuilders.properties.virtual.ListableProperty;

/**
 * A property view for fields with {@link String} values.
 *
 * @param  The type of the final builder.
 */
public interface StringProperty> extends EquitableProperty, ListableProperty {

    /**
     * Mandates that the value of the field must occur after the provided value
     * when sorted lexicographically.
     *
     * @param value The string that the value must occur after.
     * @return The logically complete condition.
     */
    Condition lexicallyAfter(String value);

    /**
     * Mandates that the value of the field must occur before the provided value
     * when sorted lexicographically.
     *
     * @param value The string that the value must occur before.
     * @return The logically complete condition.
     */
    Condition lexicallyBefore(String value);

    /**
     * Mandates that the value of the field must be equal to or occur before the provided value
     * when sorted lexicographically.
     *
     * @param value The string that the value must occur before or be equal to.
     * @return The logically complete condition.
     */
    Condition lexicallyNotAfter(String value);

    /**
     * Mandates that the value of the field must be equal to or occur after the provided value
     * when sorted lexicographically.
     *
     * @param value The string that the value must occur after or be equal to.
     * @return The logically complete condition.
     */
    Condition lexicallyNotBefore(String value);

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy