View Javadoc

1   /*
2    ORG Usurper is a random value object generator library 
3    Copyright (C) 2007  Pierre-Antoine Grégoire
4    
5    This library is free software; you can redistribute it and/or
6    modify it under the terms of the GNU Lesser General Public
7    License as published by the Free Software Foundation; either
8    version 2.1 of the License, or (at your option) any later version.
9    
10   This library is distributed in the hope that it will be useful,
11   but WITHOUT ANY WARRANTY; without even the implied warranty of
12   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
13   Lesser General Public License for more details.
14   
15   You should have received a copy of the GNU Lesser General Public
16   License along with this library; if not, write to the Free Software
17   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
18   */
19  
20  /**
21   * 
22   */
23  package org.org.usurper.handlers;
24  
25  import org.org.usurper.model.HandledBeanProperty;
26  import org.org.usurper.model.HandledConstructorArg;
27  
28  /**
29   * This interface defines the contract for all the handlers.<br>
30   * NOT SUPPOSED TO BE DIRECTLY IMPLEMENTED, PREFER THE IMPLEMENTATION OF ITS ABSTRACT BASIC SUBCLASSES.
31   * @author pagregoire
32   */
33  public interface IHandler {
34      /**
35       * This method allows the generation of a properties' value.
36       * 
37       * @param handledBeanProperty
38       *            The bean property's info
39       * @return the generated value.
40       * @see HandledBeanProperty
41       */
42      public Object handle(HandledBeanProperty handledBeanProperty);
43  
44      /**
45       * This method allows the generation of a constructor argument.
46       * 
47       * @param handledConstructorArg
48       *            The constructor's arg's info
49       * @return the generated value.
50       * @see HandledConstructorArg
51       */
52      public Object handle(HandledConstructorArg handledConstructorArg);
53  }