propertyparser.java

来自「JAVA的一些源码 JAVA2 STANDARD EDITION DEVELO」· Java 代码 · 共 68 行

JAVA
68
字号
/* * @(#)PropertyParser.java	1.11 03/12/19 * * Copyright 2004 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() ;    }}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?