/*
 * JaamSim Discrete Event Simulation
 * Copyright (C) 2010-2011 Ausenco Engineering Canada Inc.
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
package com.jaamsim.input;

import java.util.ArrayList;

import com.jaamsim.basicsim.Entity;


public class BooleanInput extends Input<Boolean> {

	private static final ArrayList<String> validOptions;

	static {
		validOptions = new ArrayList<>();
		validOptions.add("TRUE");
		validOptions.add("FALSE");
	}

	/**
	 * Creates a new Boolean Input with the given keyword, category, units, and
	 * default value.
	 */
	public BooleanInput(String key, String cat, boolean def) {
		super(key, cat, Boolean.valueOf(def));
	}

	@Override
	public void parse(Entity thisEnt, KeywordIndex kw)
	throws InputErrorException {
		Input.assertCount(kw, 1);
		value = Boolean.valueOf(Input.parseBoolean(kw.getArg(0)));
	}

	@Override
	public String getValidInputDesc() {
		return Input.VALID_BOOLEAN;
	}

	@Override
	public ArrayList<String> getValidOptions(Entity ent) {
		return validOptions;
	}

	@Override
	public String getDefaultString() {
		if (defValue == null)
			return "";

		if (defValue)
			return "TRUE";

		return "FALSE";
	}
}

@@ -92,16 +92,60 @@
 da Inc.%0A
+ * Copyright (C) 2020 JaamSim Software Inc.%0A
  *%0A * Li
@@ -900,16 +900,105 @@
 tions;%0A%0A
+%09public static final String TRUE = %22TRUE%22;%0A%09public static final String FALSE = %22FALSE%22;%0A%0A
 %09static 
@@ -1054,22 +1054,20 @@
 ons.add(
-%22
 TRUE
-%22
 );%0A%09%09val
@@ -1080,23 +1080,21 @@
 ons.add(
-%22
 FALSE
-%22
 );%0A%09%7D%0A%0A%09
@@ -1777,22 +1777,20 @@
 %09return 
-%22
 TRUE
-%22
 ;%0A%0A%09%09ret
@@ -1793,22 +1793,20 @@
 %09return 
-%22
 FALSE
-%22
 ;%0A%09%7D%0A%7D%0A

add static properties TRUE and FALSE to BooleanInput