Skip to content

Commit 541b73c

Browse files
author
Artemiy Garin
committed
- add readAllWhereWithOrder method
1 parent a3eac29 commit 541b73c

File tree

2 files changed

+17
-0
lines changed

2 files changed

+17
-0
lines changed

src/garin/artemiy/sqlitesimple/library/SQLiteSimple.java

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,7 @@ public class SQLiteSimple {
3333
private SQLiteSimpleHelper sqLiteSimpleHelper;
3434
private SimplePreferencesUtil sharedPreferencesUtil;
3535
private int databaseVersion;
36+
private boolean isAddedSQLDivider;
3637

3738
@SuppressWarnings("unused")
3839
public SQLiteSimple(Context context, int databaseVersion) {
@@ -129,13 +130,15 @@ public void create(Class<?>... classes) {
129130
sqlQueryBuilder.append(String.format(SimpleConstants.FORMAT_TWINS,
130131
String.format(SimpleConstants.FORMAT_OBJECT_BRACKET, column),
131132
fieldEntityAnnotation.type()));
133+
isAddedSQLDivider = false;
132134

133135
if (fieldEntityAnnotation.isAutoincrement()) {
134136
sqlQueryBuilder.append(SimpleConstants.SPACE);
135137
sqlQueryBuilder.append(SimpleConstants.AUTOINCREMENT);
136138
}
137139

138140
if (annotatedFieldsIndex != tableFieldsCount - 1) {
141+
isAddedSQLDivider = true;
139142
sqlQueryBuilder.append(SimpleConstants.DIVIDER);
140143
sqlQueryBuilder.append(SimpleConstants.SPACE);
141144
}
@@ -184,13 +187,20 @@ private void makeKeyForTable(StringBuilder sqlQueryBuilder, List<Field> primaryK
184187

185188
} else if (primaryKeys.size() == 1) {
186189

190+
if (!isAddedSQLDivider) {
191+
sqlQueryBuilder.append(SimpleConstants.DIVIDER);
192+
sqlQueryBuilder.append(SimpleConstants.SPACE);
193+
}
194+
187195
Field fieldEntity = primaryKeys.get(0);
188196
String column = SimpleDatabaseUtil.getColumnName(fieldEntity);
189197
Column fieldEntityAnnotation = fieldEntity.getAnnotation(Column.class);
190198
sqlQueryBuilder.append(String.format(SimpleConstants.FORMAT_TWINS,
191199
column, fieldEntityAnnotation.type()));
200+
192201
sqlQueryBuilder.append(SimpleConstants.SPACE);
193202
sqlQueryBuilder.append(SimpleConstants.PRIMARY_KEY);
203+
194204
if (fieldEntityAnnotation.isAutoincrement()) {
195205
sqlQueryBuilder.append(SimpleConstants.SPACE);
196206
sqlQueryBuilder.append(SimpleConstants.AUTOINCREMENT);

src/garin/artemiy/sqlitesimple/library/SQLiteSimpleDAO.java

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -349,6 +349,13 @@ public List<T> readAllWhere(String columnName, String columnValue) {
349349
return readAll(cursor);
350350
}
351351

352+
@SuppressWarnings("unused")
353+
public List<T> readAllWhereWithOrder(String columnName, String columnValue, String column, String order) {
354+
Cursor cursor = selectCursorFromTable(String.format(SimpleConstants.FORMAT_COLUMN, columnName),
355+
new String[]{columnValue}, null, null, String.format(SimpleConstants.FORMAT_TWINS, column, order));
356+
return readAll(cursor);
357+
}
358+
352359
private List<T> readAll(Cursor cursor) {
353360
try {
354361
List<T> list = new ArrayList<T>();

0 commit comments

Comments
 (0)