Summary Table

Categories Total Count
PII 0
URL 0
DNS 0
EKL 0
IP 0
PORT 0
VsID 0
CF 0
AI 0
VPD 0
PL 0
Other 0

File Content

/*
* SeocCreateRequest.java
* Copyright (c) 2017 Veterans Affairs.
*/
package gov.va.oneconsult.seoc.api.json;

import java.util.List;
import java.util.Set;

import org.hibernate.validator.constraints.NotBlank;

import com.fasterxml.jackson.annotation.JsonCreator;
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
import com.fasterxml.jackson.databind.annotation.JsonPOJOBuilder;

/**
* Description: Create Seoc request. Contains attributes to define a Seoc.
*
* @author AbleVets
*/
@JsonDeserialize(builder = SeocCreateRequest.Builder.class)
public class SeocCreateRequest
{

/**
* SeocId value.
*/
private int seocId;

/**
* SeocKey value.
*/
private int seocKey;

/**
* Name of the Seoc. Guaranteed to be not null.
*/
@NotBlank
private String name;

/**
* ServiceLine description value. Guaranteed to be not null.
*/
@NotBlank
private String serviceLine;

/**
* CategoryOfCare description value. Guaranteed to be not null.
*/
private String categoryOfCare;

/**
* Qasp description value. Guaranteed to be not null.
*/
private String qasp;

/**
* MaxVisits value. Default value 0.
*/
private Integer maxVisits;

/**
* Duration value. Null Allowed.
*/
private Integer duration;

/**
* REV value. Null Allowed.
*/
private Boolean rev;

/**
* Description value. Null Allowed.
*/
private String description;

/**
* ProceduralOverview value. Null Allowed.
*/
private String proceduralOverview;

/**
* Disclaimer value. Null Allowed.
*/
private String disclaimer;

/**
* ServiceList value. Null Allowed.
*/
@JsonProperty("services")
private List<CreateServiceRequest> serviceList;

/**
* Comments value. Null Allowed.
*/
private String comments;

/**
* HashValue from the request
*/
@JsonIgnore
private String hashValue;

/**
* Hptc values
*/
private Set<String> hptcs;

/**
* Private constructor that will be called from the builder class and initialize
* all the attributes as required.
*
* @param builder
*/
private SeocCreateRequest(Builder builder)
{
this.seocId = builder.seocId;
this.seocKey = builder.seocKey;
this.name = builder.name;
this.serviceLine = builder.serviceLine;
this.categoryOfCare = builder.categoryOfCare;
this.qasp = builder.qasp;
this.maxVisits = builder.maxVisits;
this.duration = builder.duration;
this.rev = builder.rev;
this.description = builder.description;
this.proceduralOverview = builder.proceduralOverview;
this.disclaimer = builder.disclaimer;
this.serviceList = builder.serviceList;
this.comments = builder.comments;
this.hptcs = builder.hptcs;
}

/**
* @return seocId
*/
public int getSeocId()
{
return seocId;
}

/**
* @return seocKey
*/
public int getSeocKey()
{
return seocKey;
}

/**
* @return name
*/
public String getName()
{
return name;
}

/**
* @return serviceLine
*/
public String getServiceLine()
{
return serviceLine;
}

/**
* @return categoryOfCare
*/
public String getCategoryOfCare()
{
return categoryOfCare;
}

/**
* @return qasp
*/
public String getQasp()
{
return qasp;
}

/**
* @return maxVisits
*/
public Integer getMaxVisits()
{
return maxVisits;
}

/**
* @return duration
*/
public Integer getDuration()
{
return duration;
}

/**
* @return rev
*/
public Boolean getRev()
{
return rev;
}

/**
* @return description
*/
public String getDescription()
{
return description;
}

/**
* @return proceduralOverview
*/
public String getProceduralOverview()
{
return proceduralOverview;
}

/**
* @return disclaimer
*/
public String getDisclaimer()
{
return disclaimer;
}

/**
* @return - ServiceList
*/
public List<CreateServiceRequest> getServiceList()
{

return serviceList;
}

public String getComments()
{

return comments;
}

public Set<String> getHptcs()
{
return hptcs;
}

/**
* Description:
*
* @return
*/
public String getHashValue()
{
return hashValue;
}

/**
* Description:
*
* @param hashValue
*/
public void setHashValue(String hashValue)
{
this.hashValue = hashValue;
}

/**
* Builder for SeocCreationRequest. Constructor accepts two mandatory parameters
* name and serviceLine to build the SeocCreateRequest.
*
* @author AbleVets
*/
@JsonPOJOBuilder(buildMethodName = "build", withPrefix = "with")
public static class Builder
{

// Optional Field
private int seocId = 0;

// Optional Field
private int seocKey = 0;

// Required Field
private String name;

// Required Field
private String serviceLine;

// Optional Field
private String categoryOfCare;

// Optional Field
private String qasp;

// Optional Field
private Integer maxVisits;

// Optional Field
private Integer duration;

// Optional Field
private Boolean rev = null;

// Optional Field
private String description = null;

// Optional Field
private String proceduralOverview = null;

// Optional Field
private String disclaimer = null;

@JsonProperty("services")
private List<CreateServiceRequest> serviceList;

private String comments;

private Set<String> hptcs;

/**
* Description: Invoke private constructor to create Builder instance
*
* @param name
* @param serviceLine
* @return Builder
*/
@JsonCreator
public static Builder create(@JsonProperty("name") String name,
@JsonProperty("serviceLine") String serviceLine)
{
return new Builder(name, serviceLine);
}

/**
* @param name
* @param serviceLine
*/
@JsonCreator
private Builder(@JsonProperty("name") String name,
@JsonProperty("serviceLine") String serviceLine)
{
this.name = name;
this.serviceLine = serviceLine;
}

/**
* Description: Builder method to initialize seocId.
*
* @param seocId
* @return - Builder
*/
public Builder withSeocId(int seocId)
{
this.seocId = seocId;
return this;
}

/**
* Description: Builder method to initialize seocKey.
*
* @param seocKey
* @return - Builder
*/
public Builder withSeocKey(int seocKey)
{
this.seocKey = seocKey;
return this;
}

/**
* Description: Builder method to initialize name.
*
* @param name
* @return Builder
*/
public Builder withName(String name)
{
this.name = name;
return this;
}

/**
* Description: Builder method to initialize serviceLine.
*
* @param serviceLine
* @return Builder
*/
public Builder withServiceLine(String serviceLine)
{
this.serviceLine = serviceLine;
return this;
}

/**
* Description: Builder method to initialize CategoryOfCare.
*
* @param description
* @return Builder
*/
public Builder withCategoryOfCare(String description)
{
this.categoryOfCare = description;
return this;
}

/**
* Description: Builder method to initialize Qasp.
*
* @param description
* @return Builder
*/
public Builder withQasp(String description)
{
this.qasp = description;
return this;
}

/**
* Description: Builder method to initialize maxVisits.
*
* @param maxVisits
* @return Builder
*/
public Builder withMaxVisits(Integer maxVisits)
{
this.maxVisits = maxVisits;
return this;
}

/**
* Description: Builder method to initialize duration.
*
* @param duration
* @return Builder
*/
public Builder withDuration(Integer duration)
{
this.duration = duration;
return this;
}

/**
* Description: Builder method to initialize rev.
*
* @param rev
* @return Builder
*/
public Builder withRev(Boolean rev)
{
this.rev = rev;
return this;
}

/**
* Description: Builder method to initialize description.
*
* @param description
* @return Builder
*/
public Builder withDescription(String description)
{
this.description = description;
return this;
}

/**
* Description: Builder method to initialize proceduralOverview.
*
* @param proceduralOverview
* @return Builder
*/
public Builder withProceduralOverview(String proceduralOverview)
{
this.proceduralOverview = proceduralOverview;
return this;
}

/**
* Description: Builder method to initialize disclaimer.
*
* @param disclaimer
* @return Builder
*/
public Builder withDisclaimer(String disclaimer)
{
this.disclaimer = disclaimer;
return this;
}

/**
* Description: Builder method to initialize serviceList.
*
* @param serviceList
* @return - Builder
*/
public Builder withServiceList(List<CreateServiceRequest> serviceList)
{
this.serviceList = serviceList;
return this;
}

/**
* Description: Builder method to initialize user comments
*
* @param comments
* @return - Builder
*/
public Builder withComments(String comments)
{
this.comments = comments;
return this;
}

/**
* Description:
*
* @param hptcs
* @return - Builder
*/
public Builder withHptcs(Set<String> hptcs)
{
this.hptcs = hptcs;
return this;
}

/**
* Description: Invokes the SeocCreateRequest private constructor.
*
* @return - Instance of SeocCreateRequest
*/
public SeocCreateRequest build()
{
return new SeocCreateRequest(this);
}
}

}