this.scanner=scanner;
this.props = props;
}
public void parse(){
Line line = null;
String key = null;
ValueModel model = new ValueModel();
boolean hasContinuation=false;
while((line =scanner.line())!=null){
if(hasContinuation){
model.addValue(line.logicalLineContents());
if(line.hasContinuation()){
continue;
}else{
hasContinuation=false;
}
}
if(line.isEmptyLine())continue;
if(line.isPrivateComment())continue;
if(line.isCommentLine()){
if(key !=null){
props.getPropertyMap().put(key, model);
key=null;
model=new ValueModel();
}
model.addComment(line.commentContents());
continue;
}else if(line.isNaturalLine()){
if(key !=null){
props.getPropertyMap().put(key, model);
key=null;
model=new ValueModel();
}
String [] parts = line.naturalLineContents();
key = parts[0];
model.setSeparator(parts[1].charAt(0));
hasContinuation=line.hasContinuation();
model.addValue(parts[2]);
}
}
// last one