当前位置: 首页>>代码示例>>Java>>正文


Java RealmQuery.endGroup方法代码示例

本文整理汇总了Java中io.realm.RealmQuery.endGroup方法的典型用法代码示例。如果您正苦于以下问题:Java RealmQuery.endGroup方法的具体用法?Java RealmQuery.endGroup怎么用?Java RealmQuery.endGroup使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在io.realm.RealmQuery的用法示例。


在下文中一共展示了RealmQuery.endGroup方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: getItems

import io.realm.RealmQuery; //导入方法依赖的package包/类
@Override
public List<Item> getItems(Realm realm, boolean onlyUnread) {
    // Get all feeds belonging to Folder treeItem
    List<Feed> feeds = getFeeds(realm, onlyUnread);
    RealmQuery<Item> query = null;
    if(feeds != null && feeds.size() > 0) {
        // Find all items belonging to any feed from this folder
        Iterator<Feed> feedIterator = feeds.iterator();
        query = realm.where(Item.class).beginGroup()
                .equalTo(Item.FEED_ID, feedIterator.next().getId());
        while (feedIterator.hasNext()) {
            query.or().equalTo(Item.FEED_ID, feedIterator.next().getId());
        }
        query.endGroup();
        if(onlyUnread)
            query.equalTo(Item.UNREAD, true);
    }
    return query != null ? query.distinct(Item.FINGERPRINT) : null;
}
 
开发者ID:schaal,项目名称:ocreader,代码行数:20,代码来源:Folder.java

示例2: updateRackList

import io.realm.RealmQuery; //导入方法依赖的package包/类
private void updateRackList() {

		rackList.clear();

		// Build lazy query
		RealmQuery<Rack> query = realm.where(Rack.class);

		if (!accessFilter.equals("")) {
			// isPublic values can be "true", "false", or "" (info not available)
			// Default behaviour will be always bring "" if filtering -- we can change it later
			query.beginGroup()
					.equalTo("isPublic", accessFilter)
					.or()
					.equalTo("isPublic", "")
					.endGroup();
		}

		if (!structureTypeFilter.isEmpty()) {
			query.in("structureType", structureTypeFilter.toArray(new String[structureTypeFilter.size()]));
		}

		if (!ratingRangeFilter.isEmpty()) {
			query.beginGroup();
			for (int i = 0; i < ratingRangeFilter.size(); ++i) {
				Pair<Float, Float> range = ratingRangeFilter.get(i);
				query.between("averageRating", range.first, range.second);
				if (i + 1 < ratingRangeFilter.size()) {
					query.or();
				}
			}
			query.endGroup();
		}

		rackList.addAll(query.findAll());

		if (rackListCallback != null) {
			rackListCallback.onRackListUpdate(rackList);
		}
	}
 
开发者ID:EduardoVernier,项目名称:bikedeboa-android,代码行数:40,代码来源:RackManager.java

示例3: transform

import io.realm.RealmQuery; //导入方法依赖的package包/类
@Override
public <T extends RealmModel> RealmQuery<T> transform(RealmQuery<T> realmQuery, Condition condition) {
    // Check condition.
    if (condition.getType() != Condition.Type.END_GROUP)
        throw new IllegalArgumentException("Condition type is not END_GROUP.");
    // Transform query.
    return realmQuery.endGroup();
}
 
开发者ID:bkromhout,项目名称:Ruqus,代码行数:9,代码来源:EndGroup.java

示例4: getStartNextLessonInWeek

import io.realm.RealmQuery; //导入方法依赖的package包/类
/**
 * Sucht nach der ersten passenden Lehrveranstaltung die als nächstes in der aktuellen Woche stattfindet
 *
 * @param realm    aktuelle Datenbankverbindung
 * @param calendar aktuelle Zeitpunkt ab welchem gesucht werden soll
 * @return erste passende {@link LessonUser} oder null
 */
@Nullable
private static LessonUser getStartNextLessonInWeek(@NonNull final Realm realm, @NonNull final Calendar calendar) {
    final long currentTime = getMinutesSinceMidnight(calendar);
    final int currentDs = getCurrentDS(currentTime);

    // Nur Lehrveranstaltungen suchen die nicht ausgeblendet werden sollen
    final RealmQuery<LessonUser> realmQuery = realm.where(LessonUser.class).equalTo(Const.database.Lesson.HIDE_LESSON, false);

    // Lehrveranstaltungen auf aktuelle Woche einschränken
    realmQuery.beginGroup()
            .equalTo(Const.database.Lesson.WEEK, getWeekTyp(calendar.get(Calendar.WEEK_OF_YEAR)))
            .or()
            .equalTo(Const.database.Lesson.WEEK, 0)
            .endGroup()
            .beginGroup()
            .isEmpty(Const.database.Lesson.WEEKS_ONLY)
            .or().equalTo(Const.database.Lesson.WEEKS_ONLY + ".weekOfYear", calendar.get(Calendar.WEEK_OF_YEAR))
            .endGroup();

    // Veranstaltungen in der restlichen Woche
    realmQuery.beginGroup()
            // Veranstaltungen in der restlichen Woche
            .greaterThan(Const.database.Lesson.DAY, calendar.get(Calendar.DAY_OF_WEEK) - 1);

    // Heutige Lehrveranstaltungen innerhalb der Vorlesungszeit mit berücksichtigen
    if (currentDs > 0) {
        realmQuery.or()
                // Veranstaltungen die noch heute stattfinden, aber...
                .beginGroup()
                .equalTo(Const.database.Lesson.DAY, calendar.get(Calendar.DAY_OF_WEEK) - 1)
                .beginGroup()
                // ... erst nach dieser Stunde anfangen ...
                .greaterThan(Const.database.Lesson.BEGIN_TIME, endDS[currentDs - 1])
                .or()
                // ... oder erst nach dieser Stunde enden
                .beginGroup()
                .greaterThan(Const.database.Lesson.END_TIME, endDS[currentDs - 1])
                .lessThan(Const.database.Lesson.END_TIME, currentTime)
                .endGroup()
                .endGroup()
                .endGroup();
    }
    // Heutige Lehrveranstaltungen vor der der Vorlesungszeit berücksichtigen
    else if (currentDs == 0) {
        realmQuery.or()
                .equalTo(Const.database.Lesson.DAY, calendar.get(Calendar.DAY_OF_WEEK) - 1);
    }
    realmQuery.endGroup();

    // Ergebnisse sortieren und erste Stunde bestimmen
    final RealmResults<LessonUser> results = realmQuery.findAllSorted(Const.database.Lesson.DAY, Sort.ASCENDING, Const.database.Lesson.BEGIN_TIME, Sort.ASCENDING);
    return results.size() > 0 ? results.first() : null;
}
 
开发者ID:HTWDD,项目名称:HTWDresden,代码行数:61,代码来源:TimetableHelper.java


注:本文中的io.realm.RealmQuery.endGroup方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。