|
1 /* This Source Code Form is subject to the terms of the Mozilla Public |
|
2 * License, v. 2.0. If a copy of the MPL was not distributed with this |
|
3 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ |
|
4 |
|
5 package org.mozilla.gecko.sync.repositories; |
|
6 |
|
7 import java.net.URISyntaxException; |
|
8 |
|
9 import org.mozilla.gecko.sync.InfoCollections; |
|
10 import org.mozilla.gecko.sync.net.AuthHeaderProvider; |
|
11 |
|
12 /** |
|
13 * A kind of Server11Repository that supports explicit setting of limit and sort on operations. |
|
14 * |
|
15 * @author rnewman |
|
16 * |
|
17 */ |
|
18 public class ConstrainedServer11Repository extends Server11Repository { |
|
19 |
|
20 private String sort = null; |
|
21 private long limit = -1; |
|
22 |
|
23 public ConstrainedServer11Repository(String collection, String storageURL, AuthHeaderProvider authHeaderProvider, InfoCollections infoCollections, long limit, String sort) throws URISyntaxException { |
|
24 super(collection, storageURL, authHeaderProvider, infoCollections); |
|
25 this.limit = limit; |
|
26 this.sort = sort; |
|
27 } |
|
28 |
|
29 @Override |
|
30 protected String getDefaultSort() { |
|
31 return sort; |
|
32 } |
|
33 |
|
34 @Override |
|
35 protected long getDefaultFetchLimit() { |
|
36 return limit; |
|
37 } |
|
38 } |