View Javadoc
1   /**
2    * This file Copyright (c) 2010-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.vaadin.gwt.client.shared;
35  
36  /**
37   * A slimmed down representation of a {@link info.magnolia.ui.vaadin.gwt.client.editor.dom.MgnlArea}.
38   * Used for communication between server and client.
39   */
40  public class AreaElement extends AbstractElement {
41  
42      private String availableComponents;
43      private Boolean addible = false; // add button operation permission
44  
45      private ComponentElement sourceComponent;
46      private ComponentElement targetComponent;
47      private String sortOrder;
48      private boolean created;
49      private boolean optional;
50  
51      public AreaElement() {
52      }
53  
54      public AreaElement(String workspace, String path, String dialog, String availableComponents) {
55          super(workspace, path, dialog);
56          this.availableComponents = availableComponents;
57      }
58  
59      public AreaElement(PostMessageEditorElement element) {
60          super(element.getWorkspace(), element.getPath(), element.getDialog());
61          setAvailableComponents(element.getAvailableComponents());
62          setAddible(element.isAddible());
63          setCreated(element.isCreated());
64          setOptional(element.isOptional());
65          setSortOrder(element.getSortOrder());
66          if (element.getSourceComponent() != null) {
67              setSourceComponent(new ComponentElement(element.getSourceComponent()));
68          }
69          if (element.getTargetComponent() != null) {
70              setTargetComponent(new ComponentElement(element.getTargetComponent()));
71          }
72      }
73  
74      public String getAvailableComponents() {
75          return availableComponents;
76      }
77  
78      public void setAvailableComponents(String availableComponents) {
79          this.availableComponents = availableComponents;
80      }
81  
82      public Boolean getAddible() {
83          return addible;
84      }
85  
86      public void setAddible(Boolean addible) {
87          this.addible = addible;
88      }
89  
90      public boolean isCreated() {
91          return created;
92      }
93  
94      public void setCreated(boolean created) {
95          this.created = created;
96      }
97  
98      public boolean isOptional() {
99          return optional;
100     }
101 
102     public void setOptional(boolean optional) {
103         this.optional = optional;
104     }
105 
106     public ComponentElement getSourceComponent() {
107         return sourceComponent;
108     }
109 
110     public void setSourceComponent(ComponentElement sourceComponent) {
111         this.sourceComponent = sourceComponent;
112     }
113 
114     public ComponentElement getTargetComponent() {
115         return targetComponent;
116     }
117 
118     public void setTargetComponent(ComponentElement targetComponent) {
119         this.targetComponent = targetComponent;
120     }
121 
122     public String getSortOrder() {
123         return sortOrder;
124     }
125 
126     public void setSortOrder(String sortOrder) {
127         this.sortOrder = sortOrder;
128     }
129 }