package com.framsticks.communication.queries; import com.framsticks.communication.Request; import com.framsticks.util.lang.Delimeted; import java.util.Collection; /** * @author Piotr Sniegowski */ public abstract class ApplicationRequest extends Request { protected String path; protected String fields; public ApplicationRequest path(String path) { assert path != null; this.path = path; return this; } public ApplicationRequest field(String field) { this.fields = field; return this; } public ApplicationRequest fields(Collection fields) { Delimeted d = new Delimeted(",", ""); for (String f : fields) { d.append(f); } return field(d.build()); } public String getPath() { return path; } @Override protected StringBuilder construct(StringBuilder buffer) { buffer.append(' ').append(path); if (fields != null) { buffer.append(' ').append(fields); } return buffer; } @Override public void parseRest(String rest) { path = rest; } }