Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
  package com.factual.driver;
  
  import java.util.HashSet;
  import java.util.List;
  import java.util.Map;
  
Internal. Holds a mapping between parameters and their values for serialization to a URL-encoded string.

Author(s):
brandon
 
 public class Parameters {

Holds key-value parameter pairs
 
 	private Map<ObjectObjectparams = Maps.newHashMap();
 
 	public Parameters() {
 	}
 	
 	public Parameters(Map<ObjectObjectparams) {
 		this. = params;
 	}
 	
 	protected Parameters copy() {
 		return new Parameters(Maps.newHashMap());
 	}
 
 	protected Object getParam(String key) {
 		return .get(key);
 	}
 
 	protected boolean containsParam(String key) {
 		return .containsKey(key);
 	}

Set a parameter where the value is a data structure that will be serialized in json format

Parameters:
key
value
 
 	protected void setJsonParam(String keyObject value) {
 		.put(keynew JsonData<Object>(value));
 	}

Set a parameter where the value will be serialized using value.toString()

Parameters:
key
value
 
 	protected void setParam(String keyObject value) {
 		.put(keynew SimpleData(value));
 	}
 	
 	protected void unsetParam(String key) {
 		.remove(key);
 	}
 	
 	protected Map<StringObjecttoUrlParams() {
 		return toUrlParams(null);
 	}
 	
 	protected Map<StringObjecttoUrlParams(Parameters additionalParams) {
 		Map<StringObjectparamMap = Maps.newHashMap();
 		for (Entry<ObjectObjectentry : .entrySet()) {
 			paramMap.put(String.valueOf(entry.getKey()), String.valueOf(entry.getValue()));
 		}
 		if (additionalParams != null)
 			paramMap.putAll(additionalParams.toUrlParams(null));	
 		return paramMap;
 	}

Convenience method for adding comma separated parameters to a field. Example: name,region,address
 
 	protected void addCommaSeparatedParam(String keyObject value) {
 		if (!.containsKey(key) || !(.get(keyinstanceof CommaSeparatedData))
 			.put(keynew CommaSeparatedData());
 		((CommaSeparatedData.get(key)).add(value);
 	}
 
 	protected String[] getCommaSeparatedParam(String key) {
 		if (!containsParam(key) || !(getParam(keyinstanceof CommaSeparatedData))
 			return null;
 	    return ((CommaSeparatedDatagetParam(key)).toArray(new String[]{});
 	}
 
 	protected void setJsonMapParam(String keyString fieldObject value) {
 		if (!containsParam(key) || !(getParam(keyinstanceof JsonData))
 			setJsonParam(key, Maps.newHashMap());
 		((JsonData<Map>) getParam(key)).getValue().put(fieldvalue);
 	}
    private List<FiltergetFilterList(Filterable q) {
        return q.getFilterList();
    }
	  
	protected List<FiltergetFilterList() {
	    Object filter = getParam(.);
	    if (filter instanceof SimpleData &&
	    	((SimpleDatafilter).getData() instanceof FilterList)
	    	return (List<Filter>) ((SimpleDatafilter).getData();
	    return null;
	}
  
Pops the newest Filter from each of queries, grouping each popped Filter into one new FilterGroup. Adds that new FilterGroup as the newest Filter in this Query.

The FilterGroup's logic will be determined by op.

	protected void popFilters(String opFilterable... queries) {
		FilterGroup group = new FilterGroup().op(op);
		for(Filterable q : queries) {
			List<Filterlist = getFilterList(q);
			if (list != null)
				if (!list.isEmpty())
					group.add(list.remove(list.size()-1));
	    }
	    add(group);
	}

Adds filter to this Query.
	protected void add(Filter filter) {
				|| !(getParam(.instanceof SimpleData)
		getFilterList().add(filter);
	}

Holds a filter list parameter value representation. Implicit top-level AND.
	private static class FilterList extends ArrayList<Filter> {
		public FilterList() {
		}
		public String toString() {
			if (isEmpty()) {
				return null;
else if (size() == 1) {
				return get(0).toJsonStr();
else {
				return new FilterGroup(this).toJsonStr();
			}
		}
		public Object toJsonObject() {
			if (isEmpty()) {
				return null;
else if (size() == 1) {
				return get(0).toJsonObject();
else {
				return new FilterGroup(this).toJsonObject();
			}
		}
	}

Holds a comma-separated parameter value representation
	private static class CommaSeparatedData extends HashSet<Object> {
		public CommaSeparatedData() {
		}
		public String toString() {
			return Joiner.on(",").skipNulls().join(this);
		}
		public Object toJsonObject() {
			return toString();
		}
	}

Holds a parameter value representation which is serializable to json

Parameters:
<T>
	private static class JsonData<T> {
		private T value = null;
		public JsonData(T value) {
			this. = value;
		}
		public T getValue() {
			return ;
		}
		public String toString() {
			return JsonUtil.toJsonStr();
		}
		public Object toJsonObject() {
			return ;
		}
	}

Holds a parameter value which directly uses data.toString(), performing no transformation.
	private static class SimpleData {
		private Object data = null;
		public SimpleData(Object data) {
			this. = data;
		}
		public String toString() {
			return String.valueOf();
		}
		public Object toJsonObject() {
			return toString();
		}
		public Object getData() {
			return ;
		}
	}
New to GrepCode? Check out our FAQ X