/* * Copyright 2000-2013 Enonic AS * http://www.enonic.com/license */ package com.enonic.esl.util; import java.util.StringTokenizer; import com.enonic.esl.containers.ExtendedMap; public class ParamsInTextParser { public static ExtendedMap parseParamsInText( String text, String paramsStartBlock, String paramsEndBlock, String paramsSeperator ) { int paramBlockStart = text.indexOf( paramsStartBlock ); if ( paramBlockStart == -1 ) { return null; } int paramBlockEnd = text.indexOf( paramsEndBlock, paramBlockStart ); if ( paramBlockEnd - 1 <= paramBlockStart ) { return null; } String params = text.substring( paramBlockStart + 1, paramBlockEnd ); StringTokenizer st = new StringTokenizer( params, paramsSeperator ); ExtendedMap parameters = new ExtendedMap(); while ( st.hasMoreTokens() ) { String param = st.nextToken(); StringTokenizer st2 = new StringTokenizer( param, "=" ); String paramName = null; String paramValue = null; if ( st2.hasMoreTokens() ) { paramName = st2.nextToken(); } if ( st2.hasMoreTokens() ) { paramValue = st2.nextToken(); } if ( paramName != null && paramValue != null ) { parameters.putString( paramName, paramValue ); } } return parameters; } }