@Override public void configureProvider(Config cfg) { filteredProvider.configureProvider(cfg); cached = cfg.isCache(); }
@Override public long getSize(ProviderContext<SInstance> context) { if (cached) { final Content content = dehydrate(context.getFilterInstance()); if (values == null || !content.equals(lastContent)) { values = filteredProvider.load(context); lastContent = content; } return values.size(); } else { return filteredProvider.load(context).size(); } }
@Override public long getSize(ProviderContext<SInstance> context) { if (cached) { final Content content = dehydrate(context.getFilterInstance()); if (values == null || !content.equals(lastContent)) { values = filteredProvider.load(context); lastContent = content; } return values.size(); } else { return filteredProvider.load(context).size(); } }
@Override public void configureProvider(Config cfg) { filteredProvider.configureProvider(cfg); cached = cfg.isCache(); }
@Override public List<R> load(ProviderContext<SInstance> context) { if (cached) { final Content content = dehydrate(context.getFilterInstance()); if (values == null || !content.equals(lastContent)) { values = filteredProvider.load(context); lastContent = content; } return values; } else { int first = context.getFirst(); return filteredProvider.load(context).subList(first, first + context.getCount()); } }
@Override public List<R> load(ProviderContext<SInstance> context) { if (cached) { final Content content = dehydrate(context.getFilterInstance()); if (values == null || !content.equals(lastContent)) { values = filteredProvider.load(context); lastContent = content; } return values; } else { return filteredProvider.load(context).subList(context.getFirst(), context.getFirst() + context.getCount()); } }