1   /*****************************************************************************
2    *                   Virtual Mockup for Machine Vision
3    *  Copyright (C) 2001-2003 Fabio R. de Miranda, João E. Kogler Jr., 
4    *                         Carlos S. Santos.
5    *   Virtual Mockup for Machine Vision Project funded by SENAC-SP
6    *
7    * Permission is granted to redistribute and/or modify this
8    * software under the terms of the GNU Lesser General Public
9    * License as published by the Free Software Foundation; either
10   * version 2.1 of the License, or (at your option) any later version.
11   *
12   * This software is distributed in the hope that it will be useful,
13   * but WITHOUT ANY WARRANTY; without even the implied warranty of
14   * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
15   * Lesser General Public License (http://www.gnu.org/copyleft/lesser.html)
16   * for more details.
17   *
18   *****************************************************************************/
19  
20  package camera3d;
21  
22  /***
23   * Defines the modes of tranformations allowed. It is an implementation of the
24   * typesafe enumeration design pattern.
25   *
26   * @author Fábio Roberto de Miranda, Carlos da Silva dos Santos
27   * @version 1.0
28   */
29  public class TransformMode {
30  
31    private final String mode;
32  
33    private TransformMode(String mode) {
34       this.mode = mode;
35    }
36  
37    /***
38     * Returns a String identifying the transformation mode.
39     */
40    public String toString(){
41      return this.mode;
42    }
43  
44    /***
45     * Returns the TransformMode correspondent to the input name. The valid name of
46     * one TransformMode instance is retrieved by calling the toString() method on
47     * that instance.
48     * @param name Name of desired mode.
49     * @throws IllegalArgumentException if name is not a valid name of any TransformMode.
50     */
51    public static TransformMode modeForString(String name){
52       if (RELATIVE.mode.equalsIgnoreCase(name)) return RELATIVE;
53       else if (ABSOLUTE.mode.equalsIgnoreCase(name)) return ABSOLUTE;
54       else throw new IllegalArgumentException("Invalid TransformMode name: "+ name);
55    }
56  
57    /*** Relative transformation mode */
58    public static final TransformMode RELATIVE = new TransformMode("Relative");
59    /*** Absolute transformation mode*/
60    public static final TransformMode ABSOLUTE = new TransformMode("Absolute");
61  }
This page was automatically generated by Maven