package com.akjava.lib.common.param;
public class ParameterUtils {
public static Parameter parse(String line){
return parse(line,':');
}
/**
* easy way to detect is really param
* @param param
* @return
*/
public static boolean isClosedAndHaveParameter(Parameter param){
return param.getAttributes().size()>0 && param.isClosed();
}
public static Parameter parse(String line,char separator){
int start=line.indexOf("(");
if(start==-1){
return new Parameter(line);
}else{
String remain=null;
String name=line.substring(0,start);
int end=line.lastIndexOf(")");
String inside;
Parameter p=new Parameter(name);
if(end==-1){
inside=line.substring(start+1);
}else{
p.setClosed(true);
inside=line.substring(start+1,end);
if(end+1<line.length()-1){
remain=line.substring(end+1);
}
}
if(remain!=null){
p.setRemain(remain);
}
if(inside.isEmpty()){
return p;
}
String[] atts=inside.split(""+separator);
for(String at:atts){
p.add(at);
}
return p;
}
}
}