    001    //  Copyright 2008 The Apache Software Foundation
    002    //
    003    // Licensed under the Apache License, Version 2.0 (the "License");
    004    // you may not use this file except in compliance with the License.
    005    // You may obtain a copy of the License at
    006    //
    007    //     http://www.apache.org/licenses/LICENSE-2.0
    008    //
    009    // Unless required by applicable law or agreed to in writing, software
    010    // distributed under the License is distributed on an "AS IS" BASIS,
    011    // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    012    // See the License for the specific language governing permissions and
    013    // limitations under the License.
    014
    015    package org.apache.tapestry5.internal.util;
    016
    017    import org.apache.tapestry5.Field;
    018    import org.apache.tapestry5.ValidationDecorator;
    019    import org.apache.tapestry5.dom.Element;
    020
    021    /**
    022     * Implementation of {@link org.apache.tapestry5.ValidationDecorator} that delegates all method invocations. Subclasses
    023     * may override any of the methods.
    024     */
    025    public class ValidationDecoratorWrapper implements ValidationDecorator
    026    {
    027        private final ValidationDecorator delegate;
    028
    029        public ValidationDecoratorWrapper(ValidationDecorator delegate)
    030        {
    031            this.delegate = delegate;
    032        }
    033
    034        public void beforeLabel(Field field)
    035        {
    036            delegate.beforeLabel(field);
    037        }
    038
    039        public void insideLabel(Field field, Element labelElement)
    040        {
    041            delegate.insideLabel(field, labelElement);
    042        }
    043
    044        public void afterLabel(Field field)
    045        {
    046            delegate.afterLabel(field);
    047        }
    048
    049        public void beforeField(Field field)
    050        {
    051            delegate.beforeField(field);
    052        }
    053
    054        public void insideField(Field field)
    055        {
    056            delegate.insideField(field);
    057        }
    058
    059        public void afterField(Field field)
    060        {
    061            delegate.afterField(field);
    062        }
    063    }