package org.wso2.carbon.device.mgt.ios.dep.beans;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;

import java.io.Serializable;

/**
 * This class represents the limit and cursor which is used to retrieve details details.
 * The variables in this class are not camel case.
 * Because this class is mapped to a JSON object using Gson and the variable names are mapped as
 * keys for the key value pairs in the JSON object.
 * Therefore to make a valid JSON body for Apple DEP requests the variables are declared as per
 * the documentation of Apple DEP
 */
@ApiModel(value = "PaginationDetails", description = "This class carries information " +
                                                       "required for paginated results")
public class PaginationDetails implements Serializable {

    private static final long serialVersionUID = 4123900989987893212L;

    @ApiModelProperty(
            name = "limit",
            value = "The number of devices to be retrieved in a single request.",
            required = false)
    private int limit;

    @ApiModelProperty(
            name = "cursor",
            value = "A hex string returned by a previous request that represents the starting " +
                    "position for a request",
            required = false)
    private String cursor;

    public int getLimit() { return limit; }

    public void setLimit(int limit) { this.limit = limit; }

    public String getCursor() { return cursor; }

    public void setCursor(String cursor) { this.cursor = cursor; }
}
