03831d35f7499c87d51205817c93e9a8d42c4baestevel * CDDL HEADER START
03831d35f7499c87d51205817c93e9a8d42c4baestevel * The contents of this file are subject to the terms of the
03831d35f7499c87d51205817c93e9a8d42c4baestevel * Common Development and Distribution License, Version 1.0 only
03831d35f7499c87d51205817c93e9a8d42c4baestevel * (the "License"). You may not use this file except in compliance
03831d35f7499c87d51205817c93e9a8d42c4baestevel * with the License.
03831d35f7499c87d51205817c93e9a8d42c4baestevel * You can obtain a copy of the license at legal-notices/CDDLv1_0.txt
03831d35f7499c87d51205817c93e9a8d42c4baestevel * See the License for the specific language governing permissions
03831d35f7499c87d51205817c93e9a8d42c4baestevel * and limitations under the License.
03831d35f7499c87d51205817c93e9a8d42c4baestevel * When distributing Covered Code, include this CDDL HEADER in each
03831d35f7499c87d51205817c93e9a8d42c4baestevel * file and include the License file at legal-notices/CDDLv1_0.txt.
03831d35f7499c87d51205817c93e9a8d42c4baestevel * If applicable, add the following below this CDDL HEADER, with the
03831d35f7499c87d51205817c93e9a8d42c4baestevel * fields enclosed by brackets "[]" replaced with your own identifying
03831d35f7499c87d51205817c93e9a8d42c4baestevel * information:
03831d35f7499c87d51205817c93e9a8d42c4baestevel * Portions Copyright [yyyy] [name of copyright owner]
03831d35f7499c87d51205817c93e9a8d42c4baestevel * CDDL HEADER END
03831d35f7499c87d51205817c93e9a8d42c4baestevel * Copyright 2008 Sun Microsystems, Inc.
03831d35f7499c87d51205817c93e9a8d42c4baestevel * Portions Copyright 2014-2015 ForgeRock AS
03831d35f7499c87d51205817c93e9a8d42c4baestevel * Boolean property definition.
03831d35f7499c87d51205817c93e9a8d42c4baestevel * Mapping used for parsing boolean values. This mapping is more flexible than
03831d35f7499c87d51205817c93e9a8d42c4baestevel * the standard boolean string parser and supports common true/false synonyms
03831d35f7499c87d51205817c93e9a8d42c4baestevel * used in configuration.
03831d35f7499c87d51205817c93e9a8d42c4baestevel private static final Map<String, Boolean> VALUE_MAP = new HashMap<>();
03831d35f7499c87d51205817c93e9a8d42c4baestevel // We could have more possibilities but decided against in issue 1960.
03831d35f7499c87d51205817c93e9a8d42c4baestevel * An interface for incrementally constructing boolean property definitions.
03831d35f7499c87d51205817c93e9a8d42c4baestevel AbstractBuilder<Boolean, BooleanPropertyDefinition> {
03831d35f7499c87d51205817c93e9a8d42c4baestevel /** Private constructor. */
03831d35f7499c87d51205817c93e9a8d42c4baestevel AbstractManagedObjectDefinition<?, ?> d, String propertyName) {
03831d35f7499c87d51205817c93e9a8d42c4baestevel /** {@inheritDoc} */
03831d35f7499c87d51205817c93e9a8d42c4baestevel AbstractManagedObjectDefinition<?, ?> d, String propertyName,
03831d35f7499c87d51205817c93e9a8d42c4baestevel return new BooleanPropertyDefinition(d, propertyName, options,
03831d35f7499c87d51205817c93e9a8d42c4baestevel * Create a boolean property definition builder.
03831d35f7499c87d51205817c93e9a8d42c4baestevel * The managed object definition associated with this
03831d35f7499c87d51205817c93e9a8d42c4baestevel * property definition.
03831d35f7499c87d51205817c93e9a8d42c4baestevel * @param propertyName
03831d35f7499c87d51205817c93e9a8d42c4baestevel * The property name.
03831d35f7499c87d51205817c93e9a8d42c4baestevel * @return Returns the new boolean property definition builder.
03831d35f7499c87d51205817c93e9a8d42c4baestevel AbstractManagedObjectDefinition<?, ?> d, String propertyName) {
03831d35f7499c87d51205817c93e9a8d42c4baestevel /** Private constructor. */
03831d35f7499c87d51205817c93e9a8d42c4baestevel AbstractManagedObjectDefinition<?, ?> d, String propertyName,
03831d35f7499c87d51205817c93e9a8d42c4baestevel super(d, Boolean.class, propertyName, options, adminAction,
03831d35f7499c87d51205817c93e9a8d42c4baestevel /** {@inheritDoc} */
03831d35f7499c87d51205817c93e9a8d42c4baestevel // No additional validation required.
03831d35f7499c87d51205817c93e9a8d42c4baestevel /** {@inheritDoc} */
03831d35f7499c87d51205817c93e9a8d42c4baestevel if (b == null) {
03831d35f7499c87d51205817c93e9a8d42c4baestevel throw PropertyException.illegalPropertyValueException(this, value);
03831d35f7499c87d51205817c93e9a8d42c4baestevel /** {@inheritDoc} */
03831d35f7499c87d51205817c93e9a8d42c4baestevel public <R, P> R accept(PropertyDefinitionVisitor<R, P> v, P p) {
03831d35f7499c87d51205817c93e9a8d42c4baestevel return v.visitBoolean(this, p);
03831d35f7499c87d51205817c93e9a8d42c4baestevel /** {@inheritDoc} */
03831d35f7499c87d51205817c93e9a8d42c4baestevel public <R, P> R accept(PropertyValueVisitor<R, P> v, Boolean value, P p) {
03831d35f7499c87d51205817c93e9a8d42c4baestevel /** {@inheritDoc} */