*/
public class Result<RV> {
private static final String SUCCESS = "Success";
- public static final String[] EMPTY_VARS = new String[0];
+ public static final Object[] EMPTY_VARS = new Object[0];
public final static int OK=0,
ERR_Security = 1,
ERR_Backend = 9,
ERR_General = 20;
- public final RV value;
+ public RV value;
public final int status;
public final String details;
- public final String[] variables;
+ public final Object[] variables;
- protected Result(RV value, int status, String details, String[] variables) {
+ public Result(RV value, int status, String details, Object ... variables) {
this.value = value;
- if(value==null) {
+ if (value==null) {
specialCondition|=EMPTY_LIST;
}
this.status = status;
this.details = details;
- if(variables==null) {
+ if (variables==null) {
this.variables = EMPTY_VARS;
} else {
this.variables=variables;
* @return
*/
public static<R> Result<R> ok(R value) {
- return new Result<R>(value,OK,SUCCESS,null);
+ return new Result<R>(value,OK,SUCCESS,EMPTY_VARS);
}
/**
* @return
*/
public static<R> Result<R[]> ok(R value[]) {
- return new Result<R[]>(value,OK,SUCCESS,null).emptyList(value.length==0);
+ return new Result<R[]>(value,OK,SUCCESS,EMPTY_VARS).emptyList(value.length==0);
}
/**
* @return
*/
public static<R> Result<Set<R>> ok(Set<R> value) {
- return new Result<Set<R>>(value,OK,SUCCESS,null).emptyList(value.size()==0);
+ return new Result<Set<R>>(value,OK,SUCCESS,EMPTY_VARS).emptyList(value.size()==0);
}
/**
* @return
*/
public static<R> Result<List<R>> ok(List<R> value) {
- return new Result<List<R>>(value,OK,SUCCESS,null).emptyList(value.size()==0);
+ return new Result<List<R>>(value,OK,SUCCESS,EMPTY_VARS).emptyList(value.size()==0);
}
/**
* @return
*/
public static<R> Result<Collection<R>> ok(Collection<R> value) {
- return new Result<Collection<R>>(value,OK,SUCCESS,null).emptyList(value.size()==0);
+ return new Result<Collection<R>>(value,OK,SUCCESS,EMPTY_VARS).emptyList(value.size()==0);
}
* @return
*/
public static Result<Void> ok() {
- return new Result<Void>(null,OK,SUCCESS,null);
+ return new Result<Void>(null,OK,SUCCESS,EMPTY_VARS);
}
/**
* @param variables
* @return
*/
- public static<R> Result<R> err(int status, String details, String ... variables) {
+ public static<R> Result<R> err(int status, String details, Object ... variables) {
return new Result<R>(null,status,details,variables);
}
* @param details
* @return
*/
- public static<R> Result<R> create(R value, int status, String details, String ... vars) {
+ public static<R> Result<R> create(R value, int status, String details, Object ... vars) {
return new Result<R>(value,status,details,vars);
}
@Override
public String toString() {
- if(status==0) {
+ if (status==0) {
return details;
} else {
StringBuilder sb = new StringBuilder();
sb.append(status);
sb.append(':');
sb.append(String.format(details,((Object[])variables)));
- if(isEmpty()) {
+ if (isEmpty()) {
sb.append("{empty}");
}
- if(value!=null) {
+ if (value!=null) {
sb.append('-');
sb.append(value.toString());
}
default: sb.append("Error");
}
sb.append(" - ");
- sb.append(String.format(details, (Object[])variables));
+ sb.append(String.format(details, variables));
return sb.toString();
}
}