1 package org.apache.turbine.pipeline; 2 3 import java.util.HashMap; 4 import java.util.Map; 5 6 7 /* 8 * Licensed to the Apache Software Foundation (ASF) under one 9 * or more contributor license agreements. See the NOTICE file 10 * distributed with this work for additional information 11 * regarding copyright ownership. The ASF licenses this file 12 * to you under the Apache License, Version 2.0 (the 13 * "License"); you may not use this file except in compliance 14 * with the License. You may obtain a copy of the License at 15 * 16 * http://www.apache.org/licenses/LICENSE-2.0 17 * 18 * Unless required by applicable law or agreed to in writing, 19 * software distributed under the License is distributed on an 20 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 21 * KIND, either express or implied. See the License for the 22 * specific language governing permissions and limitations 23 * under the License. 24 */ 25 26 27 /** 28 * <p>A <b>PipelineData</b> is a holder for data being passed from one 29 * Valve to the next. 30 * The detailed contract for a Valve is included in the description of 31 * the <code>invoke()</code> method below.</p> 32 * 33 * <b>HISTORICAL NOTE</b>: The "PipelineData" name was assigned to this 34 * holder as it functions similarily to the RunData object, but without 35 * the additional methods 36 * 37 * @author <a href="mailto:epugh@opensourceconnections.com">Eric Pugh</a> 38 * @author <a href="mailto:peter@courcoux.biz">Peter Courcoux</a> 39 */ 40 public class DefaultPipelineData implements PipelineData 41 { 42 private final Map<Class<?>, Map<?, ?>> map = new HashMap<Class<?>, Map<?, ?>>(); 43 44 public void put(Class<?> key, Map<?, ?> value) 45 { 46 map.put(key, value); 47 } 48 49 public Map<?, ?> get(Class key) 50 { 51 return map.get(key); 52 } 53 54 public Object get(Class<?> key, Object innerKey) 55 { 56 Map<?, ?> innerMap = get(key); 57 if (innerMap == null) 58 { 59 return null; 60 } 61 return innerMap.get(innerKey); 62 } 63 64 65 }