View Javadoc
1   /**
2    * This file Copyright (c) 2013-2018 Magnolia International
3    * Ltd.  (http://www.magnolia-cms.com). All rights reserved.
4    *
5    *
6    * This file is dual-licensed under both the Magnolia
7    * Network Agreement and the GNU General Public License.
8    * You may elect to use one or the other of these licenses.
9    *
10   * This file is distributed in the hope that it will be
11   * useful, but AS-IS and WITHOUT ANY WARRANTY; without even the
12   * implied warranty of MERCHANTABILITY or FITNESS FOR A
13   * PARTICULAR PURPOSE, TITLE, or NONINFRINGEMENT.
14   * Redistribution, except as permitted by whichever of the GPL
15   * or MNA you select, is prohibited.
16   *
17   * 1. For the GPL license (GPL), you can redistribute and/or
18   * modify this file under the terms of the GNU General
19   * Public License, Version 3, as published by the Free Software
20   * Foundation.  You should have received a copy of the GNU
21   * General Public License, Version 3 along with this program;
22   * if not, write to the Free Software Foundation, Inc., 51
23   * Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
24   *
25   * 2. For the Magnolia Network Agreement (MNA), this file
26   * and the accompanying materials are made available under the
27   * terms of the MNA which accompanies this distribution, and
28   * is available at http://www.magnolia-cms.com/mna.html
29   *
30   * Any modifications to this file must keep this entire header
31   * intact.
32   *
33   */
34  package info.magnolia.ui.form.config;
35  
36  import info.magnolia.ui.form.field.definition.TwinColSelectFieldDefinition;
37  import info.magnolia.ui.form.field.transformer.Transformer;
38  import info.magnolia.ui.form.validator.definition.ConfiguredFieldValidatorDefinition;
39  
40  import java.util.Collection;
41  
42  /**
43   * Builder for the TwinColSelect field.
44   */
45  public class TwinColSelectFieldBuilder extends OptionGroupFieldBuilder {
46  
47      private final TwinColSelectFieldDefinition definition = new TwinColSelectFieldDefinition();
48  
49      public TwinColSelectFieldBuilder(String name) {
50          super();
51          this.definition().setName(name);
52      }
53  
54      @Override
55      public TwinColSelectFieldDefinition definition() {
56          return this.definition;
57      }
58  
59      public TwinColSelectFieldBuilder leftColumnCaption(String caption) {
60          definition().setLeftColumnCaption(caption);
61          return this;
62      }
63  
64      public TwinColSelectFieldBuilder rightColumnCaption(String caption) {
65          definition().setRightColumnCaption(caption);
66          return this;
67      }
68  
69      // Overrides for methods in parent class changing return type to allow method chaining
70  
71      @Override
72      public TwinColSelectFieldBuilder multiselect() {
73          return (TwinColSelectFieldBuilder) super.multiselect();
74      }
75  
76      @Override
77      public TwinColSelectFieldBuilder multiselect(boolean multiselect) {
78          return (TwinColSelectFieldBuilder) super.multiselect(multiselect);
79      }
80  
81      @Override
82      public TwinColSelectFieldBuilder path(String path) {
83          return (TwinColSelectFieldBuilder) super.path(path);
84      }
85  
86      @Override
87      public TwinColSelectFieldBuilder repository(String repository) {
88          return (TwinColSelectFieldBuilder) super.repository(repository);
89      }
90  
91      @Override
92      public TwinColSelectFieldBuilder valueProperty(String valueProperty) {
93          return (TwinColSelectFieldBuilder) super.valueProperty(valueProperty);
94      }
95  
96      @Override
97      public TwinColSelectFieldBuilder labelProperty(String labelProperty) {
98          return (TwinColSelectFieldBuilder) super.labelProperty(labelProperty);
99      }
100 
101     /**
102      * @deprecated since 5.3.15, filtering-mode does not make sense for the TwinColSelect field.
103      */
104     @Deprecated
105     @Override
106     public TwinColSelectFieldBuilder filteringMode(int filteringMode) {
107         return this;
108     }
109 
110     @Override
111     public TwinColSelectFieldBuilder sortOptions(boolean sortOptions) {
112         return (TwinColSelectFieldBuilder) super.sortOptions(sortOptions);
113     }
114 
115     @Override
116     public TwinColSelectFieldBuilder options(OptionBuilder... builders) {
117         return (TwinColSelectFieldBuilder) super.options(builders);
118     }
119 
120     @Override
121     public TwinColSelectFieldBuilder options(Collection<?> options) {
122         return (TwinColSelectFieldBuilder) super.options(options);
123     }
124 
125     @Override
126     public TwinColSelectFieldBuilder label(String label) {
127         return (TwinColSelectFieldBuilder) super.label(label);
128     }
129 
130     @Override
131     public TwinColSelectFieldBuilder i18nBasename(String i18nBasename) {
132         return (TwinColSelectFieldBuilder) super.i18nBasename(i18nBasename);
133     }
134 
135     @Override
136     public TwinColSelectFieldBuilder i18n(boolean i18n) {
137         return (TwinColSelectFieldBuilder) super.i18n(i18n);
138     }
139 
140     @Override
141     public TwinColSelectFieldBuilder i18n() {
142         return (TwinColSelectFieldBuilder) super.i18n();
143     }
144 
145     @Override
146     public TwinColSelectFieldBuilder description(String description) {
147         return (TwinColSelectFieldBuilder) super.description(description);
148     }
149 
150     @Override
151     public TwinColSelectFieldBuilder type(String type) {
152         return (TwinColSelectFieldBuilder) super.type(type);
153     }
154 
155     @Override
156     public TwinColSelectFieldBuilder required(boolean required) {
157         return (TwinColSelectFieldBuilder) super.required(required);
158     }
159 
160     @Override
161     public TwinColSelectFieldBuilder required() {
162         return (TwinColSelectFieldBuilder) super.required();
163     }
164 
165     @Override
166     public TwinColSelectFieldBuilder requiredErrorMessage(String requiredErrorMessage) {
167         return (TwinColSelectFieldBuilder) super.requiredErrorMessage(requiredErrorMessage);
168     }
169 
170     @Override
171     public TwinColSelectFieldBuilder readOnly(boolean readOnly) {
172         return (TwinColSelectFieldBuilder) super.readOnly(readOnly);
173     }
174 
175     @Override
176     public TwinColSelectFieldBuilder readOnly() {
177         return (TwinColSelectFieldBuilder) super.readOnly();
178     }
179 
180     @Override
181     public TwinColSelectFieldBuilder defaultValue(String defaultValue) {
182         return (TwinColSelectFieldBuilder) super.defaultValue(defaultValue);
183     }
184 
185     @Override
186     public TwinColSelectFieldBuilder styleName(String styleName) {
187         return (TwinColSelectFieldBuilder) super.styleName(styleName);
188     }
189 
190     @Override
191     public TwinColSelectFieldBuilder validator(ConfiguredFieldValidatorDefinition validatorDefinition) {
192         return (TwinColSelectFieldBuilder) super.validator(validatorDefinition);
193     }
194 
195     @Override
196     public TwinColSelectFieldBuilder validator(GenericValidatorBuilder validatorBuilder) {
197         return (TwinColSelectFieldBuilder) super.validator(validatorBuilder);
198     }
199 
200     @Override
201     public TwinColSelectFieldBuilder transformerClass(Class<? extends Transformer<?>> transformerClass) {
202         return (TwinColSelectFieldBuilder) super.transformerClass(transformerClass);
203     }
204 }