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

package gov.va.oneconsult.seoc.api.json;

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

@JsonDeserialize(builder = CreateBillingCodeRequest.Builder.class)
public class CreateBillingCodeRequest
{

private String billingCode;

private String codeType;

private String description;

private Boolean precertRequired;

private String prevBillingCode;

/**
* Private constructor that will be called from the builder class and initialize
* all the attributes as required.
* @param builder
*/
private CreateBillingCodeRequest(Builder builder)
{
this.description = builder.description == null ? null : builder.description.trim();
this.codeType = builder.codeType == null ? null : builder.codeType.trim();
this.billingCode = builder.billingCode == null ? null : builder.billingCode.trim();
this.precertRequired = builder.precertRequired;
this.prevBillingCode = builder.prevBillingCode == null ? null
: builder.prevBillingCode.trim();
}

public String getBillingCode()
{
return billingCode;
}

public String getCodeType()
{
return codeType;
}

public String getDescription()
{
return description;
}

public Boolean getPrecertRequired()
{
return precertRequired;
}

public String getPrevBillingCode()
{
return prevBillingCode;
}

/**
* Description: Determine if this a discontinue billing code request
* @return boolean
*/
public boolean isDiscontinueRequest()
{
if(!(prevBillingCode==null || prevBillingCode.isEmpty()) &&
(billingCode==null || billingCode.isEmpty()))
{
return true;
}
return false;
}

/**
* Description: Determine if this a edit billing code request
* @return boolean
*/
public boolean isEditRequest()
{
if(!(prevBillingCode==null || prevBillingCode.isEmpty()) &&
!(billingCode==null || billingCode.isEmpty()))
{
return true;
}
return false;
}

/**
* Description: Determine if the data is valid for edit billing code request
* @return boolean
*/
public boolean isValidEditRequest()
{
if(!(prevBillingCode==null || prevBillingCode.isEmpty()) &&
!(billingCode==null || billingCode.isEmpty()) &&
!(description==null || description.isEmpty()) &&
!(codeType==null || codeType.isEmpty()))
{
return true;
}
return false;
}

@Override
public String toString()
{
return "CreateBillingCodeRequest [billingCode=" + billingCode + ", codeType=" + codeType
+ ", description=" + description + ", precertRequired=" + precertRequired +
", billingCode=" + billingCode + ", discontinueRequest="+ isDiscontinueRequest() + ", validEditRequest=" + isValidEditRequest() + ", editRequest=" + isEditRequest() +"]";
}

/**
* Builder for CreateBillingCodeRequest.
* @author AbleVets
*/
@JsonPOJOBuilder(buildMethodName = "build", withPrefix = "with")
public static class Builder
{
private String billingCode;

private String codeType;

private String description;

private Boolean precertRequired;

private String prevBillingCode;

@JsonCreator
public static Builder create()
{
return new Builder();
}

@JsonCreator
private Builder() {

}

public Builder withBillingCode(String billingCode)
{

this.billingCode = billingCode;
return this;
}

public Builder withCodeType(String codeType)
{

this.codeType = codeType;
return this;
}

public Builder withDescription(String description)
{

this.description = description;
return this;
}

public Builder withPrecertRequired(Boolean precertRequired)
{

this.precertRequired = precertRequired;
return this;
}

public Builder withPrevBillingCode(String billingCode)
{

this.prevBillingCode = billingCode;
return this;
}

public CreateBillingCodeRequest build() {

return new CreateBillingCodeRequest(this);
}
}
}