001    package org.apache.turbine.pipeline;
002    
003    import java.util.Map;
004    
005    
006    /*
007     * Licensed to the Apache Software Foundation (ASF) under one
008     * or more contributor license agreements.  See the NOTICE file
009     * distributed with this work for additional information
010     * regarding copyright ownership.  The ASF licenses this file
011     * to you under the Apache License, Version 2.0 (the
012     * "License"); you may not use this file except in compliance
013     * with the License.  You may obtain a copy of the License at
014     *
015     *   http://www.apache.org/licenses/LICENSE-2.0
016     *
017     * Unless required by applicable law or agreed to in writing,
018     * software distributed under the License is distributed on an
019     * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
020     * KIND, either express or implied.  See the License for the
021     * specific language governing permissions and limitations
022     * under the License.
023     */
024    
025    
026    /**
027     * <p>A <b>PipelineData</b> is a holder for data being passed from one
028     * Valve to the next.
029     * The detailed contract for a Valve is included in the description of
030     * the <code>invoke()</code> method below.</p>
031     *
032     * <b>HISTORICAL NOTE</b>:  The "PipelineData" name was assigned to this
033     * holder as it functions similarily to the RunData object, but without
034     * the additional methods
035     *
036     * @author <a href="mailto:epugh@opensourceconnections.com">Eric Pugh</a>
037     * @author <a href="mailto:peter@courcoux.biz">Peter Courcoux</a>
038     */
039    public interface PipelineData
040    {
041        public void put(Class<?> name, Map<?, ?> value);
042    
043        public Map<?, ?> get(Class<?> name);
044    
045        public Object get(Class<?> key, Object innerKey);
046    }