package cloudone.client;
import javax.ws.rs.client.WebTarget;
import java.util.Map;
/**
* @author Martin Mares (martin.mares at oracle.com)
*/
public interface C1WebTarget extends WebTarget {
public class CodeInterval {
public static final CodeInterval SUCCESSFUL = new CodeInterval(200, 299);
public static final CodeInterval REDIRECTION = new CodeInterval(300, 399);
public static final CodeInterval CLIENT_ERROR = new CodeInterval(400, 499);
public static final CodeInterval SERVER_ERROR = new CodeInterval(500, 599);
final int from;
final int to;
public CodeInterval(int from, int to) {
this.from = from;
this.to = to;
}
public CodeInterval(int only) {
this(only, only);
}
public int getFrom() {
return from;
}
public int getTo() {
return to;
}
public boolean isInInterval(int code) {
return code >= from && code <= to;
}
}
public C1WebTarget path(String path);
public C1WebTarget resolveTemplate(String name, Object value);
public C1WebTarget resolveTemplate(String name, Object value, boolean encodeSlashInPath);
public C1WebTarget resolveTemplateFromEncoded(String name, Object value);
public C1WebTarget resolveTemplates(Map<String, Object> templateValues);
public C1WebTarget resolveTemplates(Map<String, Object> templateValues, boolean encodeSlashInPath);
public C1WebTarget resolveTemplatesFromEncoded(Map<String, Object> templateValues);
public C1WebTarget matrixParam(String name, Object... values);
public C1WebTarget queryParam(String name, Object... values);
public AnyInvoker anyOK();
public AnyInvoker any(CodeInterval... accepts);
public AllInvoker all();
}