001 package de.deepamehta.core.service; 002 003 import java.util.HashMap; 004 import java.util.Map; 005 006 007 008 public class ClientState { 009 010 // ---------------------------------------------------------------------------------------------- Instance Variables 011 012 private Map<String, String> values = new HashMap(); 013 014 // ---------------------------------------------------------------------------------------------------- Constructors 015 016 /** 017 * Converts a "Cookie" header value (String) to a map (key=String, value=String). 018 * E.g. "user=jri; workspace_id=123" => {"user"="jri", "workspace_id"="123"} 019 * <p> 020 * Called by JAX-RS container to create a ClientState from a "Cookie" @HeaderParam 021 */ 022 public ClientState(String cookie) { 023 if (cookie != null) { 024 for (String value : cookie.split("; ")) { 025 String[] val = value.split("="); 026 values.put(val[0], val[1]); 027 } 028 } 029 } 030 031 // -------------------------------------------------------------------------------------------------- Public Methods 032 033 public String get(String key) { 034 return values.get(key); 035 } 036 037 /** 038 * Convenience method. 039 */ 040 public long getLong(String key) { 041 return Long.parseLong(get(key)); 042 } 043 044 // --- 045 046 @Override 047 public String toString() { 048 return values.toString(); 049 } 050 }