public SegmentAndState process(SegmentAndState seg, Character c) { if (c == null) { return null; } seg.segment.getCurrentString().append(c); seg.state = seg.lastState; seg.lastState = null; return seg; }
public SegmentAndState process(SegmentAndState seg, Character c) { if (c == null) { return null; } seg.lastState = null; switch(c) { case '\\': seg.lastState = seg.state; seg.state = ParserState.ESCAPING; break; case ']': ((ResourceSegment)seg.segment).prefix = seg.segment.getCurrentString().toString(); ((ResourceSegment)seg.segment).currentString = new StringBuilder(); seg.state = ParserState.IN_RESOURCE_DEF; break; default: seg.segment.getCurrentString().append(c); break; } return seg; } }, IN_RESOURCE_DEF {
public SegmentAndState process(SegmentAndState seg, Character c) { if (c == null) { return null; } seg.lastState = null; switch(c) { case '\\': seg.lastState = seg.state; seg.state = ParserState.ESCAPING; break; case ']': ((ResourceSegment)seg.segment).suffix = seg.segment.getCurrentString().toString(); ((ResourceSegment)seg.segment).currentString = new StringBuilder(); seg.state = ParserState.START; break; default: seg.segment.getCurrentString().append(c); break; } return seg; } }, ESCAPING {
processField(seg); seg.segment = new TextSegment(); seg.segment.getCurrentString().append(c); seg.state = ParserState.IN_TEXT; } else { seg.segment.getCurrentString().append(c);
public SegmentAndState process(SegmentAndState seg, Character c) { if (c == null) { return null; } seg.lastState = null; switch(c) { case '%': seg.segment = new ResourceSegment(); seg.state = ParserState.IN_RESOURCE_START; break; case '\\': seg.segment = new TextSegment(); seg.lastState = ParserState.IN_TEXT; seg.state = ParserState.ESCAPING; break; default: seg.segment = new TextSegment(); seg.segment.getCurrentString().append(c); seg.state = ParserState.IN_TEXT; break; } return seg; } }, IN_TEXT {
public SegmentAndState process(SegmentAndState seg, Character c) { if (c == null) { return null; } seg.lastState = null; switch(c) { case '%': seg.segment = new ResourceSegment(); seg.state = ParserState.IN_RESOURCE_START; break; case '\\': seg.lastState = seg.state; seg.state = ParserState.ESCAPING; break; default: seg.segment.getCurrentString().append(c); break; } return seg; } }, IN_RESOURCE_START {
public SegmentAndState process(SegmentAndState seg, Character c) { if (c == null) { return null; } seg.lastState = null; switch(c) { case '[': seg.state = ParserState.IN_RESOURCE_PREFIX; break; default: seg.segment.getCurrentString().append(c); seg.state = ParserState.IN_RESOURCE_DEF; break; } return seg; } }, IN_RESOURCE_PREFIX {