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

org.apache.wicket.bean.validation.ValidationModelResolver Maven / Gradle / Ivy

There is a newer version: 10.1.0
Show newest version
package org.apache.wicket.bean.validation;

import org.apache.wicket.markup.html.form.FormComponent;
import org.apache.wicket.model.IModel;
import org.apache.wicket.model.IPropertyReflectionAwareModel;
import org.apache.wicket.model.IWrapModel;

/**
 * @author alexander.v.morozov
 */
final class ValidationModelResolver
{

    /**
     * Lookup for property-aware model, attached to certain form component.
     *
     * @param component
     *              form component
     *
     * @return property-aware model, extracted from supplied component or null
     */
    public static IPropertyReflectionAwareModel resolvePropertyModelFrom(FormComponent component)
    {
        IModel model = component.getModel();
        while (true)
        {
            if (model == null)
            {
                return null;
            }
            if (model instanceof IPropertyReflectionAwareModel)
            {
                return (IPropertyReflectionAwareModel) model;
            }
            if (model instanceof IWrapModel)
            {
                model = ((IWrapModel)model).getWrappedModel();
                continue;
            }
            break; // not model found
        }
        return null;
    }

    private ValidationModelResolver()
    {
        // nop
    }

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy