StreamParameterProvider.java :  » Chat » PJIRC-2.2.1 » irc » Java Open Source

Java Open Source » Chat » PJIRC 2.2.1 
PJIRC 2.2.1 » irc » StreamParameterProvider.java
/*****************************************************/
/*          This java file is a part of the          */
/*                                                   */
/*           -  Plouf's Java IRC Client  -           */
/*                                                   */
/*   Copyright (C)  2002 - 2004 Philippe Detournay   */
/*                                                   */
/*         All contacts : theplouf@yahoo.com         */
/*                                                   */
/*  PJIRC is free software; you can redistribute     */
/*  it and/or modify it under the terms of the GNU   */
/*  General Public License as published by the       */
/*  Free Software Foundation; version 2 or later of  */
/*  the License.                                     */
/*                                                   */
/*  PJIRC is distributed in the hope that it will    */
/*  be useful, but WITHOUT ANY WARRANTY; without     */
/*  even the implied warranty of MERCHANTABILITY or  */
/*  FITNESS FOR A PARTICULAR PURPOSE.  See the GNU   */
/*  General Public License for more details.         */
/*                                                   */
/*  You should have received a copy of the GNU       */
/*  General Public License along with PJIRC; if      */
/*  not, write to the Free Software Foundation,      */
/*  Inc., 59 Temple Place, Suite 330, Boston,        */
/*  MA  02111-1307  USA                              */
/*                                                   */
/*****************************************************/

package irc;

import java.io.*;
import java.util.*;

/**
 * Parameter provider from a text stream.
 */
public class StreamParameterProvider implements ParameterProvider
{
  private Hashtable _table;

  /**
   * Create a new StreamParameterProvider loading the given input stream.
   * @param is the input stream to load from. If is is null, then the
   * parameter list will be empty.
   */
  public StreamParameterProvider(InputStream is)
  {
    _table=new Hashtable();
    if(is==null) return;

    try
    {
      BufferedReader reader=new BufferedReader(new InputStreamReader(is));
      String line=reader.readLine();
      while(line!=null)
      {
        line=line.trim();
        if(line.length()>0)
        {
          if(line.charAt(0)!='#')
          {
            parse(line);
          }
        }
        line=reader.readLine();
      }
      reader.close();
    }
    catch(Exception ex)
    {
      ex.printStackTrace();
    }
  }

  private void parse(String str)
  {
    int pos=str.indexOf('=');
    if(pos<0) return;
    String before=str.substring(0,pos).trim().toLowerCase(java.util.Locale.ENGLISH);
    String after=str.substring(pos+1).trim();
    _table.put(before,after);
  }

  public String getParameter(String name)
  {
    return (String)_table.get(name.toLowerCase(java.util.Locale.ENGLISH));
  }
}
java2s.com  | Contact Us | Privacy Policy
Copyright 2009 - 12 Demo Source and Support. All rights reserved.
All other trademarks are property of their respective owners.