View Javadoc
1   // license-header java merge-point
2   // Generated by: paging/PaginaionResult.java.vsl in andromda-spring-cartridge.
3   package org.andromda.spring;
4   
5   /*-
6    * #%L
7    * Quadrige2 Core :: Server API
8    * %%
9    * Copyright (C) 2017 Ifremer
10   * %%
11   * This program is free software: you can redistribute it and/or modify
12   * it under the terms of the GNU Affero General Public License as published by
13   * the Free Software Foundation, either version 3 of the License, or
14   * (at your option) any later version.
15   * 
16   * This program is distributed in the hope that it will be useful,
17   * but WITHOUT ANY WARRANTY; without even the implied warranty of
18   * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
19   * GNU General Public License for more details.
20   * 
21   * You should have received a copy of the GNU Affero General Public License
22   * along with this program.  If not, see <http://www.gnu.org/licenses/>.
23   * #L%
24   */
25  
26  import java.io.Serializable;
27  
28  /**
29   * A class that represents a "paged result" of data out of a larger set, ie.
30   * a list of objects together with info to indicate the starting row and
31   * the full size of the dataset.
32   * Generated by paging/PaginationResult.vsl in andromda-spring cartridge
33   */
34  public class PaginationResult
35      implements Serializable
36  {
37      private static final long serialVersionUID = 8766771253773009362L;
38  
39      private long totalSize;
40      private Object[] data;
41  
42      /**
43       * Create an object representing a sublist of a dataset.
44       *
45       * @param dataIn is a list of consecutive objects from the dataset.
46       * @param totalSizeIn is the total number of matching rows available.
47       */
48      public PaginationResult(
49          Object[] dataIn,
50          long totalSizeIn)
51      {
52          this.data = dataIn;
53          this.totalSize = totalSizeIn;
54      }
55  
56      /**
57       * Returns the number of items in the entire result.
58       *
59       * @return the total size of items.
60       */
61      public long getTotalSize()
62      {
63          return this.totalSize;
64      }
65  
66      /**
67       * Sets the total size of this pagination's complete set.
68       *
69       * @param totalSizeIn the total size of objects contained in the complete set.
70       */
71      public void setTotalSize(long totalSizeIn)
72      {
73          this.totalSize = totalSizeIn;
74      }
75  
76      /**
77       * Return the array of objects held by this pagination rules, which
78       * is a continuous subset of the full dataset.
79       * @return this.data
80       */
81      public Object[] getData()
82      {
83          return this.data;
84      }
85  
86      /**
87       * Sets the data for this pagination result.
88       *
89       * @param dataIn the subset of paginated data.
90       */
91      public void setData(Object[] dataIn)
92      {
93          this.data = dataIn;
94      }
95  }