Skip to contentMethod: AdditionalTypeExpressionState(TempTypeExtension)
      1: /**
2:  * 
3:  */
4: package parser.states.typestates;
5: 
6: import model.RouterSoftware;
7: import parser.ParserException;
8: import parser.TypeFileParser;
9: import parser.tempparserobjects.TempTypeExtension;
10: import parser.tempparserobjects.TempVariableType;
11: import symbols.AbstractSymbol;
12: import symbols.EqualSignSymbol;
13: import basic.Buffer;
14: 
15: /**
16:  * @author Hendrik
17:  * 
18:  */
19: public class AdditionalTypeExpressionState extends AbstractTypeState {
20:         /**
21:          * TempTypExtension.
22:          */
23:         private final TempTypeExtension tempExt;
24: 
25:         /**
26:          * constructor no Side effects.
27:          * 
28:          * @param tempExt
29:          *            TepExt.
30:          */
31:         public AdditionalTypeExpressionState(final TempTypeExtension tempExt) {
32:                 super();
33:                 this.tempExt = tempExt;
34:         }
35: 
36:         /*
37:          * (non-Javadoc)
38:          * 
39:          * @see
40:          * parser.states.typestates.AbstractTypeState#parse(parser.tempparserobjects.TempVariableType,
41:          * basic.Buffer, parser.TypeFileParser)
42:          */
43:         @Override
44:         public void parse(final RouterSoftware rs, final TempVariableType tVT,
45:                         final Buffer<AbstractSymbol> buffer, final TypeFileParser tFP)
46:                         throws InterruptedException, ParserException {
47:                 final AbstractSymbol nextSymbol = buffer.peek();
48:                 if (nextSymbol instanceof EqualSignSymbol) {
49:                         tFP.setState(new AdditionalTypeExpressionState2(this.tempExt));
50:                         buffer.remove();
51:                 } else {
52:                         throw new ParserException("no valid symbol: "
53:                                         + buffer.peek().getClass().getCanonicalName() + " expected EqualSignSymbol");
54:                 }
55: 
56:         }
57: }