
com.nhaarman.ellie.annotation.Collate Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of core Show documentation
Show all versions of core Show documentation
Compile-time active record ORM for Android.
The newest version!
/*
* Copyright (C) 2014 Michael Pardo
* Copyright (C) 2014 Niek Haarman
*
* Licensed 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
*
* http://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
* limitations under the License.
*/
package com.nhaarman.ellie.annotation;
import java.lang.annotation.Retention;
import java.lang.annotation.Target;
import static java.lang.annotation.ElementType.FIELD;
import static java.lang.annotation.RetentionPolicy.CLASS;
/**
*
* An annotation that indicates a member should define its SQLite column using the COLLATE constraint. Must be
* used in conjunction with {@link Column}.
*
*
* http://www.sqlite.org/datatype3.html#collation
*
* http://www.sqlite.org/syntaxdiagrams.html#column-constraint
*
*
*/
@Target(FIELD)
@Retention(CLASS)
public @interface Collate {
/**
* When SQLite compares two strings, it uses a collating sequence or collating function (two words for the same
* thing) to determine which string is greater or if the two strings are equal. SQLite has three built-in
* collating functions: BINARY, NOCASE, and RTRIM.
*/
public enum CollatingSequence {
/**
* Compares string data using memcmp(), regardless of text encoding.
*/
BINARY("BINARY"),
/**
* The same as binary, except the 26 upper case characters of ASCII are folded to their lower case equivalents
* before the comparison is performed. Note that only ASCII characters are case folded. SQLite does not
* attempt to do full UTF case folding due to the size of the tables required.
*/
NOCASE("NOCASE"),
/**
* The same as binary, except that trailing space characters are ignored.
*/
RTRIM("RTRIM");
private String mKeyword;
CollatingSequence(String keyword) {
mKeyword = keyword;
}
public String keyword() {
return mKeyword;
}
}
/**
* Returns a collating sequence to use for string comparison.
*
* @return The collating sequence.
*/
public CollatingSequence value();
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy