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    * Quadrige3 Core :: Client API
8    * %%
9    * Copyright (C) 2017 - 2024 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  import java.io.Serializable;
26  
27  /**
28   * A class that represents a "paged result" of data out of a larger set, ie.
29   * a list of objects together with info to indicate the starting row and
30   * the full size of the dataset.
31   * Generated by paging/PaginationResult.vsl in andromda-spring cartridge
32   */
33  public class PaginationResult
34      implements Serializable
35  {
36      private static final long serialVersionUID = 8766771253773009362L;
37  
38      private long totalSize;
39      private Object[] data;
40  
41      /**
42       * Create an object representing a sublist of a dataset.
43       *
44       * @param dataIn is a list of consecutive objects from the dataset.
45       * @param totalSizeIn is the total number of matching rows available.
46       */
47      public PaginationResult(
48          Object[] dataIn,
49          long totalSizeIn)
50      {
51          this.data = dataIn;
52          this.totalSize = totalSizeIn;
53      }
54  
55      /**
56       * Returns the number of items in the entire result.
57       *
58       * @return the total size of items.
59       */
60      public long getTotalSize()
61      {
62          return this.totalSize;
63      }
64  
65      /**
66       * Sets the total size of this pagination's complete set.
67       *
68       * @param totalSizeIn the total size of objects contained in the complete set.
69       */
70      public void setTotalSize(long totalSizeIn)
71      {
72          this.totalSize = totalSizeIn;
73      }
74  
75      /**
76       * Return the array of objects held by this pagination rules, which
77       * is a continuous subset of the full dataset.
78       * @return this.data
79       */
80      public Object[] getData()
81      {
82          return this.data;
83      }
84  
85      /**
86       * Sets the data for this pagination result.
87       *
88       * @param dataIn the subset of paginated data.
89       */
90      public void setData(Object[] dataIn)
91      {
92          this.data = dataIn;
93      }
94  }