001/* 002 * (C) Copyright 2013 Nuxeo SA (http://nuxeo.com/) and others. 003 * 004 * Licensed under the Apache License, Version 2.0 (the "License"); 005 * you may not use this file except in compliance with the License. 006 * You may obtain a copy of the License at 007 * 008 * http://www.apache.org/licenses/LICENSE-2.0 009 * 010 * Unless required by applicable law or agreed to in writing, software 011 * distributed under the License is distributed on an "AS IS" BASIS, 012 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 013 * See the License for the specific language governing permissions and 014 * limitations under the License. 015 * 016 * Contributors: 017 * dmetzler 018 */ 019package org.nuxeo.ecm.automation.jaxrs.io.documents; 020 021import java.util.ArrayList; 022import java.util.List; 023import java.util.Map; 024 025import org.nuxeo.ecm.automation.core.util.Paginable; 026import org.nuxeo.ecm.platform.query.api.Aggregate; 027import org.nuxeo.ecm.platform.query.api.Bucket; 028import org.nuxeo.ecm.platform.query.api.QuickFilter; 029 030/** 031 * Paginable object that uses a delegate to handle pagination. 032 * 033 * @since 5.8 034 */ 035public class PaginableWithDelegate<T> extends ArrayList<T> implements Paginable<T> { 036 037 private static final long serialVersionUID = 1L; 038 039 private Paginable<T> delegate; 040 041 public PaginableWithDelegate(Paginable<T> delegate) { 042 this.delegate = delegate; 043 } 044 045 @Override 046 public long getPageSize() { 047 return delegate.getPageSize(); 048 } 049 050 @Override 051 public long getMaxPageSize() { 052 return delegate.getMaxPageSize(); 053 } 054 055 @Override 056 public long getResultsCount() { 057 return delegate.getResultsCount(); 058 } 059 060 @Override 061 public long getNumberOfPages() { 062 return delegate.getNumberOfPages(); 063 } 064 065 @Override 066 public boolean isNextPageAvailable() { 067 return delegate.isNextPageAvailable(); 068 } 069 070 @Override 071 public boolean isLastPageAvailable() { 072 return delegate.isLastPageAvailable(); 073 } 074 075 @Override 076 public boolean isPreviousPageAvailable() { 077 return delegate.isPreviousPageAvailable(); 078 } 079 080 @Override 081 public long getCurrentPageSize() { 082 return delegate.getCurrentPageSize(); 083 } 084 085 @Override 086 public long getCurrentPageIndex() { 087 return delegate.getCurrentPageIndex(); 088 } 089 090 @Override 091 public boolean isSortable() { 092 return delegate.isSortable(); 093 } 094 095 @Override 096 public boolean hasError() { 097 return delegate.hasError(); 098 } 099 100 @Override 101 public String getErrorMessage() { 102 return delegate.getErrorMessage(); 103 } 104 105 @Override 106 public Map<String, Aggregate<? extends Bucket>> getAggregates() { 107 return delegate.getAggregates(); 108 } 109 110 @Override 111 public boolean hasAggregateSupport() { 112 return delegate.hasAggregateSupport(); 113 } 114 115 @Override 116 public List<QuickFilter> getActiveQuickFilters() { 117 return delegate.getActiveQuickFilters(); 118 } 119 120 @Override 121 public List<QuickFilter> getAvailableQuickFilters() { 122 return delegate.getAvailableQuickFilters(); 123 } 124 125 @Override 126 public long getCurrentPageOffset() { 127 return delegate.getCurrentPageOffset(); 128 } 129 130 @Override 131 public long getResultsCountLimit() { 132 return delegate.getResultsCountLimit(); 133 } 134 135}