All Downloads are FREE. Search and download functionalities are using the official Maven repository.

jakarta.faces.view.facelets.ValidatorHandler Maven / Gradle / Ivy

Go to download

Jakarta Faces defines an MVC framework for building user interfaces for web applications, including UI components, state management, event handing, input validation, page navigation, and support for internationalization and accessibility.

There is a newer version: 4.1.2
Show newest version
/*
 * Copyright (c) 1997, 2020 Oracle and/or its affiliates. All rights reserved.
 * Copyright 2005-2007 The Apache Software Foundation
 *
 * 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 jakarta.faces.view.facelets;

import jakarta.faces.view.EditableValueHolderAttachedObjectHandler;

/**
 * 

* Handles setting a {@link jakarta.faces.validator.Validator} instance on an * {@link jakarta.faces.component.EditableValueHolder} parent. Will wire all attributes set to the * Validator instance created/fetched. Uses the "binding" attribute for grabbing instances to apply * attributes to. *

* *

* Will only set/create Validator is the passed UIComponent's parent is null, signifying that it wasn't restored from an * existing tree. *

* */ public class ValidatorHandler extends FaceletsAttachedObjectHandler implements EditableValueHolderAttachedObjectHandler { private String validatorId; private TagHandlerDelegate helper; private ValidatorConfig config; /** *

* Construct this instance around the configuration information in argument config *

* * @param config the TagConfig subclass for this kind of attached object. */ public ValidatorHandler(ValidatorConfig config) { super(config); this.config = config; validatorId = config.getValidatorId(); } /** *

* Return the implementation specific delegate instance that provides the bulk of the work for this handler instance. *

* * @return the implementation specific delegate instance */ @Override protected TagHandlerDelegate getTagHandlerDelegate() { if (null == helper) { helper = delegateFactory.createValidatorHandlerDelegate(this); } return helper; } /** *

* Retrieve the id of the validator that is to be created and added to the parent EditableValueHolder. All * subclasses should override this method because it is important for Facelets to have a unique way of identifying the * validators that are added to this EditableValueHolder and allows exclusions to work properly. An * exclusion is a validator declaration that has the attribute "disabled" which resolves to false, instructing Facelets * not to register a default validator with the same id. *

* * @param ctx the FaceletContext for this {@code Facelet} * * @return the validator-id */ public String getValidatorId(FaceletContext ctx) { if (validatorId == null) { TagAttribute idAttr = getAttribute("validatorId"); if (idAttr == null) { return null; } else { return idAttr.getValue(ctx); } } return validatorId; } /** *

* Return the TagConfig subclass used to configure this handler instance. *

* * @return the TagConfig subclass used to configure this handler instance. */ public ValidatorConfig getValidatorConfig() { return config; } }




© 2015 - 2025 Weber Informatics LLC | Privacy Policy