View Javadoc

1   package br.com.ibnetwork.guara.parameters.impl;
2   
3   import java.util.HashMap;
4   import java.util.Map;
5   
6   import org.apache.avalon.framework.service.ServiceException;
7   import org.apache.avalon.framework.service.ServiceManager;
8   import org.apache.avalon.framework.service.Serviceable;
9   import org.apache.commons.fileupload.FileItem;
10  import org.apache.commons.logging.LogFactory;
11  
12  import br.com.ibnetwork.guara.parameters.ParameterParser;
13  import br.com.ibnetwork.guara.parameters.ValueParserSupport;
14  
15  /***
16   * @author <a href="mailto:leandro@ibnetwork.com.br">leandro</a>
17   */
18  public class ParameterParserImpl
19  	extends ValueParserSupport
20  	implements ParameterParser, Serviceable
21  {
22      private Map fileItems = new HashMap();
23      
24      public ParameterParserImpl(String encoding)
25      {
26          super(encoding);
27      }
28  
29      public void service(ServiceManager manager)
30  	    throws ServiceException
31  	{
32          logger = LogFactory.getLog(ParameterParserImpl.class);
33  	}
34  
35  
36      public FileItem getFileItem(String key)
37      {
38          FileItem[] value = (FileItem[]) fileItems.get(key);
39          return value != null ? value[0] : null;
40      }
41  
42      public FileItem[] getFileItems(String key)
43      {
44          return (FileItem[]) fileItems.get(key);
45      }
46  
47      public void add(String key, FileItem value)
48      {
49          add(key, new FileItem[]{value});
50      }
51  
52      public void add(String key, FileItem[] value)
53      {
54          FileItem[] values = (FileItem[]) fileItems.get(key);
55          if(values != null)
56          {
57              int size = values.length + value.length;
58              FileItem[] newValues = new FileItem[size];
59              System.arraycopy(values,0,newValues,0,values.length);
60              System.arraycopy(value,0,newValues,values.length,value.length);
61              value = newValues;
62          }
63          fileItems.put(key,value);
64      }
65  }