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

org.springframework.beans.PropertyEditorRegistry Maven / Gradle / Ivy

There is a newer version: 5.3.34
Show newest version
/*
 * Copyright 2002-2007 the original author or authors.
 *
 * 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 org.springframework.beans;

import java.beans.PropertyEditor;

/**
 * Encapsulates methods for registering JavaBeans {@link PropertyEditor PropertyEditors}.
 * This is the central interface that a {@link PropertyEditorRegistrar} operates on.
 *
 * 

Extended by {@link BeanWrapper}; implemented by {@link BeanWrapperImpl} * and {@link org.springframework.validation.DataBinder}. * * @author Juergen Hoeller * @since 1.2.6 * @see java.beans.PropertyEditor * @see PropertyEditorRegistrar * @see BeanWrapper * @see org.springframework.validation.DataBinder */ public interface PropertyEditorRegistry { /** * Register the given custom property editor for all properties * of the given type. * @param requiredType the type of the property * @param propertyEditor the editor to register */ void registerCustomEditor(Class requiredType, PropertyEditor propertyEditor); /** * Register the given custom property editor for the given type and * property, or for all properties of the given type. *

If the property path denotes an array or Collection property, * the editor will get applied either to the array/Collection itself * (the {@link PropertyEditor} has to create an array or Collection value) or * to each element (the PropertyEditor has to create the element type), * depending on the specified required type. *

Note: Only one single registered custom editor per property path * is supported. In the case of a Collection/array, do not register an editor * for both the Collection/array and each element on the same property. *

For example, if you wanted to register an editor for "items[n].quantity" * (for all values n), you would use "items.quality" as the value of the * 'propertyPath' argument to this method. * @param requiredType the type of the property (can be null if a property * is given but should be specified in any case for consistency checking) * @param propertyPath the path of the property (name or nested path), or * null if registering an editor for all properties of the given type * @param propertyEditor editor to register */ void registerCustomEditor(Class requiredType, String propertyPath, PropertyEditor propertyEditor); /** * Find a custom property editor for the given type and property. * @param requiredType the type of the property (can be null if a property * is given but should be specified in any case for consistency checking) * @param propertyPath the path of the property (name or nested path), or * null if looking for an editor for all properties of the given type * @return the registered editor, or null if none */ PropertyEditor findCustomEditor(Class requiredType, String propertyPath); }





© 2015 - 2024 Weber Informatics LLC | Privacy Policy