Skip to content

Package: AddToOptNode

AddToOptNode

nameinstructionbranchcomplexitylinemethod
AddToOptNode(AbstractNode)
M: 0 C: 8
100%
M: 0 C: 0
100%
M: 0 C: 1
100%
M: 0 C: 2
100%
M: 0 C: 1
100%
AddToOptNode(AbstractNode, AbstractNode)
M: 0 C: 5
100%
M: 0 C: 0
100%
M: 0 C: 1
100%
M: 0 C: 2
100%
M: 0 C: 1
100%
equals(Object)
M: 0 C: 11
100%
M: 0 C: 4
100%
M: 0 C: 3
100%
M: 0 C: 1
100%
M: 0 C: 1
100%
hashCode()
M: 0 C: 6
100%
M: 0 C: 0
100%
M: 0 C: 1
100%
M: 0 C: 1
100%
M: 0 C: 1
100%
interpret(CommunicationManager)
M: 0 C: 41
100%
M: 0 C: 4
100%
M: 0 C: 3
100%
M: 0 C: 9
100%
M: 0 C: 1
100%
toString()
M: 0 C: 12
100%
M: 0 C: 0
100%
M: 0 C: 1
100%
M: 0 C: 2
100%
M: 0 C: 1
100%

Coverage

1: package pruefskript.parser.nodes;
2:
3: import java.io.FileNotFoundException;
4:
5: import basic.PruefskriptConstants;
6: import pruefskript.CommunicationManager;
7: import pruefskript.parser.exceptions.AddToOptException;
8: import pruefskript.parser.exceptions.CheckScriptException;
9: import pruefskript.parser.exceptions.WrongNodeException;
10: import pruefskript.parser.values.VoidValue;
11:
12: /**
13: * Mit Hilfe von AddToOptNode koennen Dateien an das opt-Archiv angehaengt werden.
14: *
15: * @author Phil
16: *
17: */
18: public class AddToOptNode extends AbstractBinaryOperationNode {
19:
20:         /**
21:          * Default sind die flags leer.
22:          *
23:          * @param operand
24:          * AbstractNode
25:          */
26:         public AddToOptNode(final AbstractNode operand) {
27:                 super(operand, new StringNode(""));
28:         }
29:
30:         /**
31:          *
32:          * @param operand1
33:          * AbstractNode
34:          * @param operand2
35:          * AbstractNode
36:          */
37:         public AddToOptNode(final AbstractNode operand1, final AbstractNode operand2) {
38:                 super(operand1, operand2);
39:         }
40:
41:         @Override
42:         public String toString() {
43:                 return PruefskriptConstants.ADDTOOPTTITLE + PruefskriptConstants.BRACKET_OPEN
44:                                 + super.toString() + PruefskriptConstants.BRACKET_CLOSE;
45:         }
46:
47:         @Override
48:         public boolean equals(final Object obj) {
49:•                return super.equals(obj) && obj instanceof AddToOptNode;
50:
51:         }
52:
53:         @Override
54:         public int hashCode() {
55:                 return super.hashCode() + PruefskriptConstants.ADD_TO_OPTNODE_HASHCODE;
56:         }
57:
58:         @Override
59:         public VoidValue interpret(final CommunicationManager mgr) throws CheckScriptException {
60:•                if (this.getOperand1().interpret(mgr).isStringValue()
61:•                                && this.getOperand2().interpret(mgr).isStringValue()) {
62:                         final AddToOptFacade facade = new AddToOptFacade(mgr, this);
63:                         try {
64:                                 mgr.getRouterConfiguration().getArchGen().addToOpt(facade);
65:                         } catch (final FileNotFoundException e) {
66:                                 throw new AddToOptException(e);
67:                         }
68:                         return new VoidValue();
69:                 } else {
70:                         throw new WrongNodeException(PruefskriptConstants.UNEXPECTED_STRING);
71:                 }
72:         }
73: }