org.apache.james.jmap.model.ContinuationTokenRequest Maven / Gradle / Ivy
/****************************************************************
* Licensed to the Apache Software Foundation (ASF) under one *
* or more contributor license agreements. See the NOTICE file *
* distributed with this work for additional information *
* regarding copyright ownership. The ASF licenses this file *
* to you under the Apache License, Version 2.0 (the *
* "License"); you may not use this file except in compliance *
* with the License. You may obtain a copy of the License at *
* *
* http://www.apache.org/licenses/LICENSE-2.0 *
* *
* Unless required by applicable law or agreed to in writing, *
* software distributed under the License is distributed on an *
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY *
* KIND, either express or implied. See the License for the *
* specific language governing permissions and limitations *
* under the License. *
****************************************************************/
package org.apache.james.jmap.model;
import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
import com.fasterxml.jackson.databind.annotation.JsonPOJOBuilder;
@JsonDeserialize(builder = ContinuationTokenRequest.Builder.class)
public class ContinuationTokenRequest {
public static final String UNIQUE_JSON_PATH = "/username";
public static Builder builder() {
return new Builder();
}
@JsonPOJOBuilder(withPrefix = "")
public static class Builder {
private String username;
private String clientName;
private String clientVersion;
private String deviceName;
private Builder() {}
public Builder username(String username) {
this.username = username;
return this;
}
public Builder clientName(String clientName) {
this.clientName = clientName;
return this;
}
public Builder clientVersion(String clientVersion) {
this.clientVersion = clientVersion;
return this;
}
public Builder deviceName(String deviceName) {
this.deviceName = deviceName;
return this;
}
public ContinuationTokenRequest build() {
return new ContinuationTokenRequest(username, clientName, clientVersion, deviceName);
}
}
private final String username;
private final String clientName;
private final String clientVersion;
private final String deviceName;
private ContinuationTokenRequest(String username, String clientName, String clientVersion, String deviceName) {
this.username = username;
this.clientName = clientName;
this.clientVersion = clientVersion;
this.deviceName = deviceName;
}
public String getUsername() {
return username;
}
public String getClientName() {
return clientName;
}
public String getClientVersion() {
return clientVersion;
}
public String getDeviceName() {
return deviceName;
}
}