Android Open Source - sqlite-analyzer Data Affinity






From Project

Back to project page sqlite-analyzer.

License

The source code is released under:

Apache License

If you think the Android project sqlite-analyzer 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 com.novoda.sqlite.model;
// www .jav a 2 s.  c  om
import java.util.Locale;

public enum DataAffinity {
    TEXT, NUMERIC, INTEGER, REAL, NONE;

    public static DataAffinity fromType(String type) {
        return computeAffinity(type);
    }

    /**
     * See http://www.sqlite.org/datatype3.html
     * section 2.1 Determination of column affinity
     */
    private static DataAffinity computeAffinity(String type) {
        String deftype = type.toLowerCase(Locale.US);
        if (deftype.contains("int")) {
            return DataAffinity.INTEGER;
        }
        if (containsOneOf(deftype, "char", "clob", "text")) {
            return DataAffinity.TEXT;
        }
        if (containsOneOf(deftype, "real", "floa", "doub")) {
            return DataAffinity.REAL;
        }
        if (containsOneOf(deftype, "blob") || deftype.equals("")) {
            return DataAffinity.NONE;
        }
        return DataAffinity.NUMERIC;
    }

    private static boolean containsOneOf(String toCheck, String... values) {
        for (String value : values) {
            if (toCheck.contains(value)) {
                return true;
            }
        }
        return false;
    }

}




Java Source Code List

com.example.MainActivity.java
com.example.MainActivity.java
com.example.MyDatabase.java
com.example.MyDatabase.java
com.novoda.sqlite.Analyzer.java
com.novoda.sqlite.Connector.java
com.novoda.sqlite.FileConnector.java
com.novoda.sqlite.MigrationsConnector.java
com.novoda.sqlite.MigrationsInDir.java
com.novoda.sqlite.Migrations.java
com.novoda.sqlite.NumberedFilesComparator.java
com.novoda.sqlite.StringUtilOld.java
com.novoda.sqlite.StringUtil.java
com.novoda.sqlite.impl.SQLFile.java
com.novoda.sqlite.impl.TableCreateStatementParser.java
com.novoda.sqlite.model.Column.java
com.novoda.sqlite.model.DataAffinity.java
com.novoda.sqlite.model.Database.java
com.novoda.sqlite.model.Table.java
com.novoda.sqliteprovider.demo.simple.provider.FireworkProvider.java
com.novoda.sqliteprovider.demo.simple.ui.MainActivity.java
com.novoda.sqliteprovider.demo.simple.ui.MainFragment.java