001    /*
002      Copyright (C) 2001-2002 Renaud Pawlak, Laurent Martelli
003      
004      This program is free software; you can redistribute it and/or modify
005      it under the terms of the GNU Lesser General Public License as
006      published by the Free Software Foundation; either version 2 of the
007      License, or (at your option) any later version.
008    
009      This program is distributed in the hope that it will be useful, but
010      WITHOUT ANY WARRANTY; without even the implied warranty of
011      MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
012      Lesser General Public License for more details.
013    
014      You should have received a copy of the GNU Lesser General Public
015      License along with this program; if not, write to the Free Software
016      Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
017      USA */
018    
019    package org.objectweb.jac.aspects.gui;
020    
021    /**
022     * This interface allows views comparison. If both parameters and
023     * types are equals for the compared views, then the two view are
024     * considered as equal. */
025    
026    public interface ViewIdentity {
027    
028        /**
029         * Sets the parameters that were used to construct the view. 
030         */
031        void setParameters(Object[] parameters);
032    
033        /**
034         * The parameters that were used to compile the view. 
035         */
036        Object[] getParameters();
037    
038        /**
039         * Gets the view type.
040         *
041         * @return view type string as declared in web.acc or swing.acc
042         * depending on the GUI target 
043         */
044        String getType();
045    
046        /**
047         * Set the view type. 
048         */
049        void setType(String type);
050        
051        /**
052         * Tells if a view is the same as another one, ie it has the same
053         * type and parameters.
054         */
055        boolean equalsView(ViewIdentity view);
056    
057        boolean equalsView(String type, Object[] parameters);
058    }
059