001// Licensed under the Apache License, Version 2.0 (the "License");
002// you may not use this file except in compliance with the License.
003// You may obtain a copy of the License at
004//
005// http://www.apache.org/licenses/LICENSE-2.0
006//
007// Unless required by applicable law or agreed to in writing, software
008// distributed under the License is distributed on an "AS IS" BASIS,
009// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
010// See the License for the specific language governing permissions and
011// limitations under the License.
012
013package org.apache.tapestry5.grid;
014
015import org.apache.tapestry5.BaseOptimizedSessionPersistedObject;
016
017/**
018 * Standard implementation of {@link org.apache.tapestry5.grid.GridPaginationModel}.
019 *
020 * @since 5.4
021 */
022public class GridPaginationModelImpl extends BaseOptimizedSessionPersistedObject implements GridPaginationModel
023{
024    private static final long serialVersionUID = -5532310466213300537L;
025
026    private String sortColumnId;
027
028    private Boolean sortAscending;
029
030    private Integer currentPage;
031
032    @Override
033    public String getSortColumnId()
034    {
035        return sortColumnId;
036    }
037
038    @Override
039    public void setSortColumnId(String sortColumnId)
040    {
041        this.sortColumnId = sortColumnId;
042
043        markDirty();
044    }
045
046    @Override
047    public Boolean getSortAscending()
048    {
049        return sortAscending;
050    }
051
052    @Override
053    public void setSortAscending(Boolean sortAscending)
054    {
055        this.sortAscending = sortAscending;
056
057        markDirty();
058    }
059
060    @Override
061    public Integer getCurrentPage()
062    {
063        return currentPage;
064    }
065
066    @Override
067    public void setCurrentPage(Integer currentPage)
068    {
069        this.currentPage = currentPage;
070
071        markDirty();
072    }
073
074    @Override
075    public String toString()
076    {
077        return String.format("GridPaginationModelImpl[currentPage=%s, sortColumnId=%s, sortAscending=%s]",
078                currentPage, sortColumnId, sortAscending);
079    }
080}