1 /* 2 * Copyright (C) 2007-2010 Jlio Vilmar Gesser. 3 * Copyright (C) 2011, 2013-2016 The JavaParser Team. 4 * 5 * This file is part of JavaParser. 6 * 7 * JavaParser can be used either under the terms of 8 * a) the GNU Lesser General Public License as published by 9 * the Free Software Foundation, either version 3 of the License, or 10 * (at your option) any later version. 11 * b) the terms of the Apache License 12 * 13 * You should have received a copy of both licenses in LICENCE.LGPL and 14 * LICENCE.APACHE. Please refer to those files for details. 15 * 16 * JavaParser is distributed in the hope that it will be useful, 17 * but WITHOUT ANY WARRANTY; without even the implied warranty of 18 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 19 * GNU Lesser General Public License for more details. 20 */ 21 package com.github.javaparser.ast.expr; 22 23 import com.github.javaparser.ast.AllFieldsConstructor; 24 import com.github.javaparser.ast.observer.ObservableProperty; 25 import com.github.javaparser.ast.visitor.GenericVisitor; 26 import com.github.javaparser.ast.visitor.VoidVisitor; 27 import com.github.javaparser.ast.Node; 28 import com.github.javaparser.ast.visitor.CloneVisitor; 29 import com.github.javaparser.metamodel.BooleanLiteralExprMetaModel; 30 import com.github.javaparser.metamodel.JavaParserMetaModel; 31 import javax.annotation.Generated; 32 import com.github.javaparser.TokenRange; 33 import java.util.function.Consumer; 34 import java.util.Optional; 35 36 /** 37 * The boolean literals. 38 * <br/><code>true</code> 39 * <br/><code>false</code> 40 * 41 * @author Julio Vilmar Gesser 42 */ 43 public final class BooleanLiteralExpr extends LiteralExpr { 44 45 private boolean value; 46 47 public BooleanLiteralExpr() { 48 this(null, false); 49 } 50 51 @AllFieldsConstructor 52 public BooleanLiteralExpr(boolean value) { 53 this(null, value); 54 } 55 56 /** 57 * This constructor is used by the parser and is considered private. 58 */ 59 @Generated("com.github.javaparser.generator.core.node.MainConstructorGenerator") 60 public BooleanLiteralExpr(TokenRange tokenRange, boolean value) { 61 super(tokenRange); 62 setValue(value); 63 customInitialization(); 64 } 65 66 @Override 67 @Generated("com.github.javaparser.generator.core.node.AcceptGenerator") 68 public <R, A> R accept(final GenericVisitor<R, A> v, final A arg) { 69 return v.visit(this, arg); 70 } 71 72 @Override 73 @Generated("com.github.javaparser.generator.core.node.AcceptGenerator") 74 public <A> void accept(final VoidVisitor<A> v, final A arg) { 75 v.visit(this, arg); 76 } 77 78 @Generated("com.github.javaparser.generator.core.node.PropertyGenerator") 79 public boolean getValue() { 80 return value; 81 } 82 83 @Generated("com.github.javaparser.generator.core.node.PropertyGenerator") 84 public BooleanLiteralExpr setValue(final boolean value) { 85 if (value == this.value) { 86 return (BooleanLiteralExpr) this; 87 } 88 notifyPropertyChange(ObservableProperty.VALUE, this.value, value); 89 this.value = value; 90 return this; 91 } 92 93 @Override 94 @Generated("com.github.javaparser.generator.core.node.RemoveMethodGenerator") 95 public boolean remove(Node node) { 96 if (node == null) 97 return false; 98 return super.remove(node); 99 } 100 101 @Override 102 @Generated("com.github.javaparser.generator.core.node.CloneGenerator") 103 public BooleanLiteralExpr clone() { 104 return (BooleanLiteralExpr) accept(new CloneVisitor(), null); 105 } 106 107 @Override 108 @Generated("com.github.javaparser.generator.core.node.GetMetaModelGenerator") 109 public BooleanLiteralExprMetaModel getMetaModel() { 110 return JavaParserMetaModel.booleanLiteralExprMetaModel; 111 } 112 113 @Override 114 @Generated("com.github.javaparser.generator.core.node.ReplaceMethodGenerator") 115 public boolean replace(Node node, Node replacementNode) { 116 if (node == null) 117 return false; 118 return super.replace(node, replacementNode); 119 } 120 121 @Override 122 @Generated("com.github.javaparser.generator.core.node.TypeCastingGenerator") 123 public boolean isBooleanLiteralExpr() { 124 return true; 125 } 126 127 @Override 128 @Generated("com.github.javaparser.generator.core.node.TypeCastingGenerator") 129 public BooleanLiteralExpr asBooleanLiteralExpr() { 130 return this; 131 } 132 133 @Generated("com.github.javaparser.generator.core.node.TypeCastingGenerator") 134 public void ifBooleanLiteralExpr(Consumer<BooleanLiteralExpr> action) { 135 action.accept(this); 136 } 137 138 @Override 139 @Generated("com.github.javaparser.generator.core.node.TypeCastingGenerator") 140 public Optional<BooleanLiteralExpr> toBooleanLiteralExpr() { 141 return Optional.of(this); 142 } 143 } 144