
com.bebound.plugins.beapp.model.Operation Maven / Gradle / Ivy
The newest version!
package com.bebound.plugins.beapp.model;
import com.bebound.plugins.beapp.model.parameter.ArrayParameter;
import com.bebound.plugins.beapp.model.parameter.FileParameter;
import com.bebound.plugins.beapp.model.parameter.Parameter;
import java.util.ArrayList;
import java.util.List;
public class Operation {
private String name;
private String description;
private int id;
private ArrayList requestParameters = new ArrayList<>();
private ArrayList responseParameters = new ArrayList<>();
public Operation() {
}
public int getOperationId() {
return id;
}
public Operation setOperationId(int id) {
this.id = id;
return this;
}
public String getName() {
return name;
}
public Operation setName(String name) {
this.name = name;
return this;
}
public ArrayList getRequestParameters() {
return requestParameters;
}
public boolean containFileParameterInRequest() {
return containFileParameter(requestParameters);
}
private boolean containFileParameter(List parameters) {
for (Parameter parameter : parameters)
if (parameter instanceof FileParameter)
return ((FileParameter) parameter).getValue() != null;
else if (parameter instanceof ArrayParameter)
return containFileParameter(((ArrayParameter) parameter).getPrototype());
return false;
}
public Parameter getRequestParameterByIndex(int index) {
return requestParameters.get(index);
}
public Operation addRequestParameter(Parameter parameter) {
requestParameters.add(parameter);
return this;
}
public Operation addAllRequestParameters(ArrayList parameters) {
requestParameters.addAll(parameters);
return this;
}
public ArrayList getResponseParameters() {
return responseParameters;
}
public Parameter getResponseParameterByIndex(int index) {
return responseParameters.get(index);
}
public Operation addResponseParameter(Parameter parameter) {
responseParameters.add(parameter);
return this;
}
public Operation addAllResponseParameters(ArrayList parameters) {
responseParameters.addAll(parameters);
return this;
}
public boolean haveResponse() {
return responseParameters.size() > 0;
}
public int getRequestMandatoryParamterCount() {
int mandatoryParameterCount = 0;
for (Parameter param : requestParameters)
mandatoryParameterCount += param.isOptional() ? 0 : 1;
return mandatoryParameterCount;
}
public int getResponseMandatoryParamterCount() {
int mandatoryParameterCount = 0;
for (Parameter param : responseParameters)
mandatoryParameterCount += param.isOptional() ? 0 : 1;
return mandatoryParameterCount;
}
public String getDescription() {
return description;
}
public void setDescription(String description) {
this.description = description;
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy