Java tutorial
/** * #-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=# * This file is part of the LDP4j Project: * http://www.ldp4j.org/ * * Center for Open Middleware * http://www.centeropenmiddleware.com/ * #-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=# * Copyright (C) 2014-2016 Center for Open Middleware. * #-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=# * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * #-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=# * Artifact : org.ldp4j.framework:ldp4j-application-engine-sdk:0.2.1 * Bundle : ldp4j-application-engine-sdk-0.2.1.jar * #-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=# */ package org.ldp4j.application.sdk; import static com.google.common.base.Preconditions.checkNotNull; import java.util.Collection; import java.util.Map; import java.util.Map.Entry; import org.ldp4j.application.ext.Query; import com.google.common.collect.LinkedListMultimap; import com.google.common.collect.ListMultimap; import com.google.common.collect.Maps; public final class QueryBuilder { private final ListMultimap<String, Object> parameters; private QueryBuilder() { this.parameters = LinkedListMultimap.create(); } public Query build() { final Map<String, ImmutableQueryParameter> parameterMap = Maps.newLinkedHashMap(); for (Entry<String, Collection<Object>> entry : this.parameters.asMap().entrySet()) { String name = entry.getKey(); Collection<Object> rawValues = entry.getValue(); parameterMap.put(name, ImmutableQueryParameter.create(name, rawValues)); } return ImmutableQuery.create(parameterMap); } public QueryBuilder withParameter(String name, Object rawValue) { checkNotNull(name, "Parameter name cannot be null"); checkNotNull(rawValue, "Parameter value cannot be null"); this.parameters.put(name, rawValue); return this; } public static QueryBuilder newInstance() { return new QueryBuilder(); } }