001 /*
002 * $Id: Indexed.java 1103095 2011-05-14 13:18:29Z simonetripodi $
003 * Licensed to the Apache Software Foundation (ASF) under one
004 * or more contributor license agreements. See the NOTICE file
005 * distributed with this work for additional information
006 * regarding copyright ownership. The ASF licenses this file
007 * to you under the Apache License, Version 2.0 (the
008 * "License"); you may not use this file except in compliance
009 * with the License. You may obtain a copy of the License at
010 *
011 * http://www.apache.org/licenses/LICENSE-2.0
012 *
013 * Unless required by applicable law or agreed to in writing,
014 * software distributed under the License is distributed on an
015 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
016 * KIND, either express or implied. See the License for the
017 * specific language governing permissions and limitations
018 * under the License.
019 */
020 package org.apache.commons.ognl.test.objects;
021
022 import java.util.*;
023
024 public class Indexed
025 extends BaseIndexed
026 {
027 private String[] _values = new String[] { "foo", "bar", "baz" };
028
029 private List _list = new ArrayList();
030
031 private ListSource _source = new ListSourceImpl();
032
033 private Map _props = new HashMap();
034
035 public Indexed()
036 {
037 _list.add( new Integer( 1 ) );
038 _list.add( new Integer( 2 ) );
039 _list.add( new Integer( 3 ) );
040
041 _source.addValue( new Bean2() );
042 }
043
044 public Indexed( String[] values )
045 {
046 _values = values;
047 }
048
049 /* Indexed property "_values" */
050 public String[] getValues()
051 {
052 return _values;
053 }
054
055 public void setValues( String[] value )
056 {
057 _values = value;
058 }
059
060 /**
061 * This method returns the string from the array and appends "xxx" to distinguish the "get" method from the direct
062 * array access.
063 */
064 public String getValues( int index )
065 {
066 return _values[index] + "xxx";
067 }
068
069 public void setValues( int index, String value )
070 {
071 if ( value.endsWith( "xxx" ) )
072 {
073 _values[index] = value.substring( 0, value.length() - 3 );
074 }
075 else
076 {
077 _values[index] = value;
078 }
079 }
080
081 public Collection getList()
082 {
083 return _list;
084 }
085
086 public String getTitle( int count )
087 {
088 return "Title count " + count;
089 }
090
091 public ListSource getSource()
092 {
093 return _source;
094 }
095
096 public void setProperty( String property, Object value )
097 {
098 _props.put( property, value );
099 }
100
101 public Object getProperty( String property )
102 {
103 return _props.get( property );
104 }
105 }