diff options
Diffstat (limited to 'config-lib/src/main/java/com/yahoo/config/BooleanNode.java')
-rw-r--r-- | config-lib/src/main/java/com/yahoo/config/BooleanNode.java | 50 |
1 files changed, 50 insertions, 0 deletions
diff --git a/config-lib/src/main/java/com/yahoo/config/BooleanNode.java b/config-lib/src/main/java/com/yahoo/config/BooleanNode.java new file mode 100644 index 00000000000..8347b800272 --- /dev/null +++ b/config-lib/src/main/java/com/yahoo/config/BooleanNode.java @@ -0,0 +1,50 @@ +// Copyright 2016 Yahoo Inc. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +package com.yahoo.config; + +import edu.umd.cs.findbugs.annotations.NonNull; + +/** + * The BooleanNode class represents a boolean in a configuration tree. + */ +public class BooleanNode extends LeafNode<Boolean> { + public BooleanNode() { + } + + public BooleanNode(boolean value) { + super(true); + this.value = value; + } + + public Boolean value() { + return value; + } + + @Override + public String getValue() { + return "" + value; + } + + @Override + public String toString() { + return getValue(); + } + + @Override + protected boolean doSetValue(@NonNull String value) { + if (! value.equalsIgnoreCase("false") && ! value.equalsIgnoreCase("true")) { + return false; + } + this.value = Boolean.valueOf(value); + return true; + } + + @Override + void serialize(String name, Serializer serializer) { + serializer.serialize(name, value); + } + + @Override + void serialize(Serializer serializer) { + serializer.serialize(value); + } +} |