Package com.sun.corba.se.spi.orb

Source Code of com.sun.corba.se.spi.orb.PropertyParser

/*
* @(#)PropertyParser.java  1.12 05/11/17
*
* Copyright 2006 Sun Microsystems, Inc. All rights reserved.
* SUN PROPRIETARY/CONFIDENTIAL. Use is subject to license terms.
*/
package com.sun.corba.se.spi.orb ;

import java.util.List ;
import java.util.LinkedList ;
import java.util.Map ;
import java.util.HashMap ;
import java.util.Iterator ;
import java.util.Properties ;

import com.sun.corba.se.impl.orb.ParserAction ;
import com.sun.corba.se.impl.orb.ParserActionFactory ;

public class PropertyParser {
    private List actions ;

    public PropertyParser( )
    {
  actions = new LinkedList() ;
    }

    public PropertyParser add( String propName,
  Operation action, String fieldName )
    {
  actions.add( ParserActionFactory.makeNormalAction( propName,
      action, fieldName ) ) ;
  return this ;
    }

    public PropertyParser addPrefix( String propName,
  Operation action, String fieldName, Class componentType )
    {
  actions.add( ParserActionFactory.makePrefixAction( propName,
      action, fieldName, componentType ) ) ;
  return this ;
    }

    /** Return a map from field name to value.
    */
    public Map parse( Properties props )
    {
  Map map = new HashMap() ;
  Iterator iter = actions.iterator() ;
  while (iter.hasNext()) {
      ParserAction act = (ParserAction)(iter.next()) ;
   
      Object result = act.apply( props ) ;
   
      // A null result means that the property was not set for
      // this action, so do not override the default value in this case.
      if (result != null)
    map.put( act.getFieldName(), result ) ;
  }

  return map ;
    }

    public Iterator iterator()
    {
  return actions.iterator() ;
    }
}
TOP

Related Classes of com.sun.corba.se.spi.orb.PropertyParser

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.