All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.google.sitebricks.http.Parameters Maven / Gradle / Ivy

package com.google.sitebricks.http;

import com.google.common.collect.ImmutableMultimap;
import com.google.common.collect.Iterables;
import com.google.common.collect.Multimap;

import java.util.Collection;

/**
 * @author [email protected] (Dhanji R. Prasanna)
 */
public class Parameters {
  public static Multimap readMatrix(String uri) {
    // Do the matrix parameters now.
    ImmutableMultimap.Builder builder = ImmutableMultimap.builder();
    String[] pieces = uri.split("[/]+");
    for (String piece : pieces) {
      String[] pairs = piece.split("[;]+");

      for (String pair : pairs) {
        String[] singlePair = pair.split("[=]+");
        if (singlePair.length > 1) {
          builder.put(singlePair[0], singlePair[1]);
        }
      }
    }

    return builder.build();
  }

  public static String singleMatrixParam(String name, Collection values) {
    if (values.size() > 1) {
      throw new IllegalStateException("This matrix parameter has multiple values, "
          + name + "=" + values);
    }
    return values.isEmpty() ? null : Iterables.getOnlyElement(values);
  }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy