001/*
002 * ====================================================================
003 *
004 * The Apache Software License, Version 1.1
005 *
006 * Copyright (c) 1999-2003 The Apache Software Foundation.
007 * All rights reserved.
008 *
009 * Redistribution and use in source and binary forms, with or without
010 * modification, are permitted provided that the following conditions
011 * are met:
012 *
013 * 1. Redistributions of source code must retain the above copyright
014 *    notice, this list of conditions and the following disclaimer.
015 *
016 * 2. Redistributions in binary form must reproduce the above copyright
017 *    notice, this list of conditions and the following disclaimer in
018 *    the documentation and/or other materials provided with the
019 *    distribution.
020 *
021 * 3. The end-user documentation included with the redistribution, if
022 *    any, must include the following acknowledgement:
023 *       "This product includes software developed by the
024 *        Apache Software Foundation (http://www.apache.org/)."
025 *    Alternately, this acknowledgement may appear in the software itself,
026 *    if and wherever such third-party acknowledgements normally appear.
027 *
028 * 4. The names "The Jakarta Project", "Commons", and "Apache Software
029 *    Foundation" must not be used to endorse or promote products derived
030 *    from this software without prior written permission. For written
031 *    permission, please contact apache@apache.org.
032 *
033 * 5. Products derived from this software may not be called "Apache"
034 *    nor may "Apache" appear in their names without prior written
035 *    permission of the Apache Software Foundation.
036 *
037 * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
038 * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
039 * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
040 * DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
041 * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
042 * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
043 * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
044 * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
045 * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
046 * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
047 * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
048 * SUCH DAMAGE.
049 * ====================================================================
050 *
051 * This software consists of voluntary contributions made by many
052 * individuals on behalf of the Apache Software Foundation.  For more
053 * information on the Apache Software Foundation, please see
054 * <http://www.apache.org/>.
055 *
056 */
057
058package org.apache.wicket.util.diff;
059
060/**
061 * Definition of a Visitor interface for {@link Revision Revisions} See "Design Patterns" by the
062 * Gang of Four
063 */
064public interface RevisionVisitor
065{
066        /**
067         * @param revision
068         */
069        public void visit(Revision revision);
070
071        /**
072         * @param delta
073         */
074        public void visit(DeleteDelta delta);
075
076        /**
077         * @param delta
078         */
079        public void visit(ChangeDelta delta);
080
081        /**
082         * @param delta
083         */
084        public void visit(AddDelta delta);
085}