Android Open Source - Android-Lib-Database Three Sided Predicate






From Project

Back to project page Android-Lib-Database.

License

The source code is released under:

Apache License

If you think the Android project Android-Lib-Database listed in this page is inappropriate, such as containing malicious code/tools or violating the copyright, please email info at java2s dot com, thanks.

Java Source Code

package android.lib.database.predicate;
//  w ww  . j a v a 2s. co  m
import java.util.ArrayList;
import java.util.List;

final class ThreeSidedPredicate extends Predicate {
    private ThreeSidedPredicate(final String predicate, final List<Object> parameters) {
        super(predicate, parameters);
    }

    public static ThreeSidedPredicate newInstance(final String template, final Object left, final Object middle, final Object right, final boolean leftIsValue, final boolean middleIsValue, final boolean rightIsValue) {
        final List<Object> parameters = new ArrayList<Object>();
        final String       predicate;

        if (leftIsValue) {
            parameters.add(left);
        }

        if (middleIsValue) {
            parameters.add(middle);
        }

        if (rightIsValue) {
            parameters.add(right);
        }

        if (leftIsValue) {
            if (middleIsValue) {
                if (rightIsValue) {
                    predicate = String.format(template, Predicate.PARAMETER, Predicate.PARAMETER, Predicate.PARAMETER);
                } else {
                    predicate = String.format(template, Predicate.PARAMETER, Predicate.PARAMETER, Predicate.PARAMETER);
                }
            } else {
                if (rightIsValue) {
                    predicate = String.format(template, Predicate.PARAMETER, middle, Predicate.PARAMETER);
                } else {
                    predicate = String.format(template, Predicate.PARAMETER, middle, right);
                }
            }
        } else {
            if (middleIsValue) {
                if (rightIsValue) {
                    predicate = String.format(template, left, Predicate.PARAMETER, Predicate.PARAMETER);
                } else {
                    predicate = String.format(template, left, Predicate.PARAMETER, right);
                }
            } else {
                if (rightIsValue) {
                    predicate = String.format(template, left, middle, Predicate.PARAMETER);
                } else {
                    predicate = String.format(template, left, middle, right);
                }
            }
        }

        return new ThreeSidedPredicate(predicate, parameters);
    }
}




Java Source Code List

android.lib.database.Column.java
android.lib.database.CompositeIndex.java
android.lib.database.DatabaseOpenHelper.java
android.lib.database.Database.java
android.lib.database.DateConverter.java
android.lib.database.Index.java
android.lib.database.JSONRowMapper.java
android.lib.database.RowMapper.java
android.lib.database.Table.java
android.lib.database.TypeConverter.java
android.lib.database.UniqueCompositeIndex.java
android.lib.database.UnsupportedTypeException.java
android.lib.database.UseConverter.java
android.lib.database.predicate.ManySidedPredicate.java
android.lib.database.predicate.Predicate.java
android.lib.database.predicate.ThreeSidedPredicate.java
android.lib.database.predicate.TwoSidedPredicate.java
android.lib.database.query.Delete.java
android.lib.database.query.Insert.java
android.lib.database.query.QueryBuilder.java
android.lib.database.query.Query.java
android.lib.database.query.Select.java
android.lib.database.query.Update.java