Coverage Report - org.kuali.student.common.messagebuilder.booleanmessage.ast.BooleanNode
 
Classes in this File Line Coverage Branch Coverage Complexity
BooleanNode
94%
18/19
50%
3/6
1.231
 
 1  
 /**
 2  
  * Copyright 2010 The Kuali Foundation Licensed under the
 3  
  * Educational Community License, Version 2.0 (the "License"); you may
 4  
  * not use this file except in compliance with the License. You may
 5  
  * obtain a copy of the License at
 6  
  *
 7  
  * http://www.osedu.org/licenses/ECL-2.0
 8  
  *
 9  
  * Unless required by applicable law or agreed to in writing,
 10  
  * software distributed under the License is distributed on an "AS IS"
 11  
  * BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
 12  
  * or implied. See the License for the specific language governing
 13  
  * permissions and limitations under the License.
 14  
  */
 15  
 
 16  
 package org.kuali.student.common.messagebuilder.booleanmessage.ast;
 17  
 
 18  
 import org.antlr.runtime.Token;
 19  
 import org.antlr.runtime.tree.CommonTree;
 20  
 
 21  
 /**
 22  
  * This class is a boolean node in a binary tree.
 23  
  */
 24  0
 public class BooleanNode extends CommonTree {
 25  
         
 26  
         private BooleanNode parent;
 27  
         private Boolean value;
 28  
         private String nodeMessage;
 29  
         private String language;
 30  
 
 31  
         /**
 32  
          * Construct a boolean node for a particular token in a binary tree. 
 33  
          * Tokens are +, *, (, ) and propositions e.g. tokens: (M1*M2)+M3
 34  
          * See BooleanFunctionParser.java
 35  
          * 
 36  
          * @param payload Node token
 37  
          */
 38  
         public BooleanNode(Token payload) {
 39  817
                 super(payload);
 40  817
         }
 41  
 
 42  
         /**
 43  
          * Gets the parent boolean node.
 44  
          * 
 45  
          * @return Parent boolean node
 46  
          */
 47  
         public BooleanNode getParent(){
 48  315
                  return parent;
 49  
         }
 50  
 
 51  
         /**
 52  
          * Gets the b-tree left node.
 53  
          * 
 54  
          * @return B-tree left boolean node
 55  
          */
 56  
         public BooleanNode getLeftNode(){
 57  638
                  return (BooleanNode) this.getChild(0);
 58  
         }
 59  
 
 60  
         /**
 61  
          * Gets the b-tree right node.
 62  
          * 
 63  
          * @return B-tree right boolean node
 64  
          */
 65  
         public BooleanNode getRightNode(){
 66  501
                  return (BooleanNode) this.getChild(1);
 67  
         }
 68  
 
 69  
         /**
 70  
          * Gets the label of the node.
 71  
          * 
 72  
          * @return Node label
 73  
          */
 74  
         public String getLabel(){
 75  1137
                  return this.getText();
 76  
         }
 77  
 
 78  
         /**
 79  
          * Gets the boolean value (true or false).
 80  
          * 
 81  
          * @return Boolean value
 82  
          */
 83  
         public Boolean getValue(){
 84  499
                  return value;
 85  
         }
 86  
 
 87  
         /**
 88  
          * Gets the node message.
 89  
          * 
 90  
          * @return Node message
 91  
          */
 92  
         public String getNodeMessage(){
 93  664
                  return nodeMessage;
 94  
         }
 95  
 
 96  
         /**
 97  
          * Gets the message language.
 98  
          * 
 99  
          * @return Message language
 100  
          */
 101  
         public String getLanguage() {
 102  1
                 return language;
 103  
         }
 104  
 
 105  
         /**
 106  
          * org.antlr.runtime.tree.CommonTree.getParent() is not implemented
 107  
          * you have to set the parent yourself, BinaryMessageTree.java
 108  
          * 
 109  
          * @param parent Parent node
 110  
          */
 111  
         public void setParent(BooleanNode parent){
 112  270
                  this.parent = parent;
 113  270
         }
 114  
 
 115  
         /**
 116  
          * Sets the boolean value (true or false).
 117  
          * 
 118  
          * @param value Boolean value
 119  
          */
 120  
         public void setValue(Boolean value){
 121  164
                  this.value = value;
 122  164
         }
 123  
 
 124  
         /**
 125  
          * Sets the node message.
 126  
          * 
 127  
          * @param nodeMessage Node message
 128  
          */
 129  
         public void setNodeMessage(String nodeMessage){
 130  250
                 this.nodeMessage = nodeMessage;
 131  250
         }
 132  
 
 133  
         /**
 134  
          * Sets the message language.
 135  
          * 
 136  
          * @param language Message language
 137  
          */
 138  
         public void setLanguage(String language) {
 139  117
                 this.language = language;
 140  117
         }
 141  
 
 142  
         @Override
 143  
         public String toString() {
 144  8
                 return "BooleanNode["
 145  
                                 + "label=" + getLabel() 
 146  
                                 + ", value=" + value
 147  
                                 + ", leftNodeLabel=" + (getLeftNode() == null ? null : getLeftNode().getLabel()) 
 148  
                                 + ", rightNodeLabel=" + (getRightNode() == null ? null : getRightNode().getLabel())
 149  
                                 + ", parentLabel=" + (parent == null ? null : parent.getLabel())
 150  
                                 + "]";
 151  
         }
 152  
         
 153  
 }