001    /*
002      Copyright (C) 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    import org.objectweb.jac.core.rtti.FieldItem;
022    import org.objectweb.jac.core.rtti.ClassRepository;
023    
024    /**
025     * A handler that is assigned to a selection event (in order to change
026     * its result in most cases). */
027    
028    public class HandlerResult {
029       public Object object;
030       public FieldItem field;
031       public FieldItem container;
032       public Object extraOption;
033       public CustomizedView target;
034    
035       /**
036        * Constructs a new handler.
037        *
038        * @param container field the object is part of
039        * @param object the object that holds the selected field
040        * @param fieldname name of the field to select (may be null)
041        * @param extraOption extra info (may be null) */
042       public HandlerResult(CustomizedView target,
043                            FieldItem container,Object object, String fieldname, 
044                            Object extraOption) {
045          this.target = target;
046          this.container = container;
047          this.object = object;
048          if (fieldname!=null)
049             this.field = 
050                ClassRepository.get().getClass(object).getField(fieldname);
051          this.extraOption = extraOption;
052       }
053    }