View Javadoc
1   package org.codehaus.modello.plugin.java.metadata;
2   
3   /*
4    * Copyright (c) 2004, Codehaus.org
5    *
6    * Permission is hereby granted, free of charge, to any person obtaining a copy of
7    * this software and associated documentation files (the "Software"), to deal in
8    * the Software without restriction, including without limitation the rights to
9    * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies
10   * of the Software, and to permit persons to whom the Software is furnished to do
11   * so, subject to the following conditions:
12   *
13   * The above copyright notice and this permission notice shall be included in all
14   * copies or substantial portions of the Software.
15   *
16   * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
17   * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
18   * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
19   * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
20   * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
21   * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
22   * SOFTWARE.
23   */
24  
25  import java.util.ArrayList;
26  import java.util.List;
27  
28  import org.codehaus.modello.metadata.ClassMetadata;
29  
30  /**
31   * @author <a href="mailto:evenisse@codehaus.org">Emmanuel Venisse</a>
32   */
33  public class JavaClassMetadata implements ClassMetadata {
34      public static final String ID = JavaClassMetadata.class.getName();
35  
36      public static final String CLONE_NONE = "none";
37      public static final String CLONE_SHALLOW = "shallow";
38      public static final String CLONE_DEEP = "deep";
39  
40      public static final List<String> CLONE_MODES;
41  
42      static {
43          CLONE_MODES = new ArrayList<String>();
44          CLONE_MODES.add(CLONE_NONE);
45          CLONE_MODES.add(CLONE_SHALLOW);
46          CLONE_MODES.add(CLONE_DEEP);
47      }
48  
49      private boolean abstractMode;
50  
51      private boolean enabled;
52  
53      private String cloneMode;
54  
55      private String cloneHook;
56  
57      /**
58       * @since 1.8
59       */
60      private boolean generateToString = false;
61  
62      /**
63       * @since 1.8
64       */
65      private boolean generateBuilder = false;
66  
67      /**
68       * @since 1.8
69       */
70      private boolean generateStaticCreators = false;
71  
72      public void setAbstract(boolean abstractMode) {
73          this.abstractMode = abstractMode;
74      }
75  
76      public boolean isAbstract() {
77          return abstractMode;
78      }
79  
80      public boolean isEnabled() {
81          return enabled;
82      }
83  
84      public void setEnabled(boolean generate) {
85          this.enabled = generate;
86      }
87  
88      public String getCloneMode() {
89          return cloneMode;
90      }
91  
92      public void setCloneMode(String cloneMode) {
93          this.cloneMode = cloneMode;
94      }
95  
96      public String getCloneHook() {
97          return cloneHook;
98      }
99  
100     public void setCloneHook(String cloneHook) {
101         this.cloneHook = cloneHook;
102     }
103 
104     public boolean isGenerateToString() {
105         return generateToString;
106     }
107 
108     public void setGenerateToString(boolean generateToString) {
109         this.generateToString = generateToString;
110     }
111 
112     public boolean isGenerateBuilder() {
113         return generateBuilder;
114     }
115 
116     public void setGenerateBuilder(boolean generateBuilder) {
117         this.generateBuilder = generateBuilder;
118     }
119 
120     public boolean isGenerateStaticCreators() {
121         return generateStaticCreators;
122     }
123 
124     public void setGenerateStaticCreators(boolean generateStaticCreators) {
125         this.generateStaticCreators = generateStaticCreators;
126     }
127 }