001    /*
002     * Copyright 2005 Stephen J. McConnell.
003     *
004     * Licensed  under the  Apache License,  Version 2.0  (the "License");
005     * you may not use  this file  except in  compliance with the License.
006     * You may obtain a copy of the License at
007     *
008     *   http://www.apache.org/licenses/LICENSE-2.0
009     *
010     * Unless required by applicable law or agreed to in writing, software
011     * distributed  under the  License is distributed on an "AS IS" BASIS,
012     * WITHOUT  WARRANTIES OR CONDITIONS  OF ANY KIND, either  express  or
013     * implied.
014     *
015     * See the License for the specific language governing permissions and
016     * limitations under the License.
017     */
018    
019    package net.dpml.test.array;
020    
021    /**
022     * Test the supply of a string array as a context value.
023     * 
024     * @author <a href="http://www.dpml.net">Digital Product Meta Library</a>
025     * @version 1.2.0 
026     */
027    public class ArrayTestComponent
028    {
029        //------------------------------------------------------------------
030        // concerns
031        //------------------------------------------------------------------
032    
033       /**
034        * The construction criteria.
035        */
036        public interface Context
037        {
038           /**
039            * Return the assigned values
040            * @return the values array
041            */
042            String[] getValues();
043        }
044    
045        //------------------------------------------------------------------
046        // state
047        //------------------------------------------------------------------
048    
049       /**
050        * The assigned context instance.
051        */
052        private final Context m_context;
053    
054        //------------------------------------------------------------------
055        // constructor
056        //------------------------------------------------------------------
057    
058       /**
059        * Creation of a new test component instance.
060        * @param context a component context 
061        */
062        public ArrayTestComponent( final Context context )
063        {
064            m_context = context;
065        }
066    
067        //------------------------------------------------------------------
068        // Example
069        //------------------------------------------------------------------
070       
071       /**
072        * Return the string array assigned to the context.
073        * @return the color value
074        */
075        public String[] getValues()
076        {
077            return m_context.getValues();
078        }
079    }