summaryrefslogtreecommitdiffstats
path: root/shared
diff options
context:
space:
mode:
authorDenis <denis@vaadin.com>2016-12-08 10:57:38 +0200
committerPekka Hyvönen <pekka@vaadin.com>2016-12-08 10:57:38 +0200
commit9fb43988c7335167d40b01479265e41cad55d301 (patch)
tree941d5c15b403776a83b9474df39ffb52eb320768 /shared
parent414de3c4b2ea5267808980bd23a9e56aa865e96b (diff)
downloadvaadin-framework-9fb43988c7335167d40b01479265e41cad55d301.tar.gz
vaadin-framework-9fb43988c7335167d40b01479265e41cad55d301.zip
Introduce dedicated shared states for every core vaadin component/ext. (#98)
* Introduce dedicated shared states for every core vaadin component/ext. Updated components are: - PasswordField - CustomField - AbstractListing - AbstractMultiSelect - ColorPicker - ColorPickerArea - DataCommunicator - Responsive - AbstractListingExtension - DetailsManager - AbstractRenderer - ClickableRenderer - ButtonRenderer - CheckBoxRenderer - DateRenderer - HtmlRenderer - ImageRenderer - NumberRenderer - ProgressBarRenderer - TextRenderer Fixes vaadin/framework8-issues#480.
Diffstat (limited to 'shared')
-rw-r--r--shared/src/main/java/com/vaadin/shared/JavaScriptExtensionState.java4
-rw-r--r--shared/src/main/java/com/vaadin/shared/extension/abstractlisting/AbstractListingExtensionState.java29
-rw-r--r--shared/src/main/java/com/vaadin/shared/extension/datacommunicator/DataCommunicatorState.java27
-rw-r--r--shared/src/main/java/com/vaadin/shared/extension/filedownloader/FileDownloaderState.java29
-rw-r--r--shared/src/main/java/com/vaadin/shared/extension/responsive/ResponsiveState.java27
-rw-r--r--shared/src/main/java/com/vaadin/shared/ui/AbstractSingleSelectState.java4
-rw-r--r--shared/src/main/java/com/vaadin/shared/ui/BrowserWindowOpenerState.java4
-rw-r--r--shared/src/main/java/com/vaadin/shared/ui/abstractlisting/AbstractListingState.java29
-rw-r--r--shared/src/main/java/com/vaadin/shared/ui/abstractmultiselect/AbstractMultiSelectState.java29
-rw-r--r--shared/src/main/java/com/vaadin/shared/ui/colorpicker/AbstractColorPickerState.java38
-rw-r--r--shared/src/main/java/com/vaadin/shared/ui/colorpicker/ColorPickerAreaState.java27
-rw-r--r--shared/src/main/java/com/vaadin/shared/ui/colorpicker/ColorPickerState.java21
-rw-r--r--shared/src/main/java/com/vaadin/shared/ui/customfield/CustomFieldState.java29
-rw-r--r--shared/src/main/java/com/vaadin/shared/ui/grid/AbstractGridExtensionState.java28
-rw-r--r--shared/src/main/java/com/vaadin/shared/ui/grid/AbstractSelectionModelState.java4
-rw-r--r--shared/src/main/java/com/vaadin/shared/ui/grid/ColumnState.java3
-rw-r--r--shared/src/main/java/com/vaadin/shared/ui/grid/DetailsManagerState.java25
-rw-r--r--shared/src/main/java/com/vaadin/shared/ui/grid/editor/EditorState.java4
-rw-r--r--shared/src/main/java/com/vaadin/shared/ui/grid/renderers/AbstractRendererState.java29
-rw-r--r--shared/src/main/java/com/vaadin/shared/ui/grid/renderers/ButtonRendererState.java25
-rw-r--r--shared/src/main/java/com/vaadin/shared/ui/grid/renderers/CheckBoxRendererState.java25
-rw-r--r--shared/src/main/java/com/vaadin/shared/ui/grid/renderers/ClickableRendererState.java25
-rw-r--r--shared/src/main/java/com/vaadin/shared/ui/grid/renderers/DateRendererState.java25
-rw-r--r--shared/src/main/java/com/vaadin/shared/ui/grid/renderers/HtmlRendererState.java25
-rw-r--r--shared/src/main/java/com/vaadin/shared/ui/grid/renderers/ImageRendererState.java25
-rw-r--r--shared/src/main/java/com/vaadin/shared/ui/grid/renderers/NumberRendererState.java25
-rw-r--r--shared/src/main/java/com/vaadin/shared/ui/grid/renderers/ProgressBarRendererState.java25
-rw-r--r--shared/src/main/java/com/vaadin/shared/ui/grid/renderers/TextRendererState.java25
-rw-r--r--shared/src/main/java/com/vaadin/shared/ui/listselect/ListSelectState.java4
-rw-r--r--shared/src/main/java/com/vaadin/shared/ui/optiongroup/CheckBoxGroupState.java4
-rw-r--r--shared/src/main/java/com/vaadin/shared/ui/passwordfield/PasswordFieldState.java29
-rw-r--r--shared/src/main/java/com/vaadin/shared/ui/twincolselect/TwinColSelectState.java4
32 files changed, 621 insertions, 35 deletions
diff --git a/shared/src/main/java/com/vaadin/shared/JavaScriptExtensionState.java b/shared/src/main/java/com/vaadin/shared/JavaScriptExtensionState.java
index a37e453835..eeb71fc9b0 100644
--- a/shared/src/main/java/com/vaadin/shared/JavaScriptExtensionState.java
+++ b/shared/src/main/java/com/vaadin/shared/JavaScriptExtensionState.java
@@ -21,9 +21,9 @@ import java.util.HashSet;
import java.util.Map;
import java.util.Set;
-import com.vaadin.shared.communication.SharedState;
+import com.vaadin.shared.ui.grid.renderers.AbstractRendererState;
-public class JavaScriptExtensionState extends SharedState
+public class JavaScriptExtensionState extends AbstractRendererState
implements JavaScriptConnectorState {
private Set<String> callbackNames = new HashSet<>();
diff --git a/shared/src/main/java/com/vaadin/shared/extension/abstractlisting/AbstractListingExtensionState.java b/shared/src/main/java/com/vaadin/shared/extension/abstractlisting/AbstractListingExtensionState.java
new file mode 100644
index 0000000000..ec64db3e3e
--- /dev/null
+++ b/shared/src/main/java/com/vaadin/shared/extension/abstractlisting/AbstractListingExtensionState.java
@@ -0,0 +1,29 @@
+/*
+ * Copyright 2000-2016 Vaadin Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"); you may not
+ * use this file except in compliance with the License. You may obtain a copy of
+ * the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+ * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+ * License for the specific language governing permissions and limitations under
+ * the License.
+ */
+package com.vaadin.shared.extension.abstractlisting;
+
+import com.vaadin.shared.communication.SharedState;
+
+/**
+ * Default shared state implementation for AbstractListingExtension.
+ *
+ * @author Vaadin Ltd.
+ *
+ * @since 8.0
+ */
+public class AbstractListingExtensionState extends SharedState {
+
+}
diff --git a/shared/src/main/java/com/vaadin/shared/extension/datacommunicator/DataCommunicatorState.java b/shared/src/main/java/com/vaadin/shared/extension/datacommunicator/DataCommunicatorState.java
new file mode 100644
index 0000000000..3ee6508b61
--- /dev/null
+++ b/shared/src/main/java/com/vaadin/shared/extension/datacommunicator/DataCommunicatorState.java
@@ -0,0 +1,27 @@
+/*
+ * Copyright 2000-2016 Vaadin Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"); you may not
+ * use this file except in compliance with the License. You may obtain a copy of
+ * the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+ * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+ * License for the specific language governing permissions and limitations under
+ * the License.
+ */
+package com.vaadin.shared.extension.datacommunicator;
+
+import com.vaadin.shared.communication.SharedState;
+
+/**
+ * Shared state for DataCommunicator.
+ *
+ * @since 8.0
+ */
+public class DataCommunicatorState extends SharedState {
+
+}
diff --git a/shared/src/main/java/com/vaadin/shared/extension/filedownloader/FileDownloaderState.java b/shared/src/main/java/com/vaadin/shared/extension/filedownloader/FileDownloaderState.java
new file mode 100644
index 0000000000..dd8fb81b98
--- /dev/null
+++ b/shared/src/main/java/com/vaadin/shared/extension/filedownloader/FileDownloaderState.java
@@ -0,0 +1,29 @@
+/*
+ * Copyright 2000-2016 Vaadin Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"); you may not
+ * use this file except in compliance with the License. You may obtain a copy of
+ * the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+ * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+ * License for the specific language governing permissions and limitations under
+ * the License.
+ */
+package com.vaadin.shared.extension.filedownloader;
+
+import com.vaadin.shared.communication.SharedState;
+
+/**
+ * Shared state for FileDownloader.
+ *
+ * @author Vaadin Ltd.
+ *
+ * @since 8.0
+ */
+public class FileDownloaderState extends SharedState {
+
+}
diff --git a/shared/src/main/java/com/vaadin/shared/extension/responsive/ResponsiveState.java b/shared/src/main/java/com/vaadin/shared/extension/responsive/ResponsiveState.java
new file mode 100644
index 0000000000..18c77a2d0c
--- /dev/null
+++ b/shared/src/main/java/com/vaadin/shared/extension/responsive/ResponsiveState.java
@@ -0,0 +1,27 @@
+/*
+ * Copyright 2000-2016 Vaadin Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"); you may not
+ * use this file except in compliance with the License. You may obtain a copy of
+ * the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+ * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+ * License for the specific language governing permissions and limitations under
+ * the License.
+ */
+package com.vaadin.shared.extension.responsive;
+
+import com.vaadin.shared.communication.SharedState;
+
+/**
+ * Shared state for Responsive extension.
+ *
+ * @since 8.0
+ */
+public class ResponsiveState extends SharedState {
+
+}
diff --git a/shared/src/main/java/com/vaadin/shared/ui/AbstractSingleSelectState.java b/shared/src/main/java/com/vaadin/shared/ui/AbstractSingleSelectState.java
index 4cd9bdc9a2..cb9fd61860 100644
--- a/shared/src/main/java/com/vaadin/shared/ui/AbstractSingleSelectState.java
+++ b/shared/src/main/java/com/vaadin/shared/ui/AbstractSingleSelectState.java
@@ -15,7 +15,7 @@
*/
package com.vaadin.shared.ui;
-import com.vaadin.shared.AbstractFieldState;
+import com.vaadin.shared.ui.abstractlisting.AbstractListingState;
/**
* Shared state for {@code AbstractSingleSelect}.
@@ -24,7 +24,7 @@ import com.vaadin.shared.AbstractFieldState;
*
* @since 8.0
*/
-public class AbstractSingleSelectState extends AbstractFieldState {
+public class AbstractSingleSelectState extends AbstractListingState {
/**
* The key of the currently selected item or {@code null} if no item is
diff --git a/shared/src/main/java/com/vaadin/shared/ui/BrowserWindowOpenerState.java b/shared/src/main/java/com/vaadin/shared/ui/BrowserWindowOpenerState.java
index f1a4ea9be3..aff6380cc4 100644
--- a/shared/src/main/java/com/vaadin/shared/ui/BrowserWindowOpenerState.java
+++ b/shared/src/main/java/com/vaadin/shared/ui/BrowserWindowOpenerState.java
@@ -19,9 +19,9 @@ package com.vaadin.shared.ui;
import java.util.HashMap;
import java.util.Map;
-import com.vaadin.shared.AbstractComponentState;
+import com.vaadin.shared.communication.SharedState;
-public class BrowserWindowOpenerState extends AbstractComponentState {
+public class BrowserWindowOpenerState extends SharedState {
public static final String locationResource = "url";
public String target = "_blank";
diff --git a/shared/src/main/java/com/vaadin/shared/ui/abstractlisting/AbstractListingState.java b/shared/src/main/java/com/vaadin/shared/ui/abstractlisting/AbstractListingState.java
new file mode 100644
index 0000000000..894443f171
--- /dev/null
+++ b/shared/src/main/java/com/vaadin/shared/ui/abstractlisting/AbstractListingState.java
@@ -0,0 +1,29 @@
+/*
+ * Copyright 2000-2016 Vaadin Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"); you may not
+ * use this file except in compliance with the License. You may obtain a copy of
+ * the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+ * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+ * License for the specific language governing permissions and limitations under
+ * the License.
+ */
+package com.vaadin.shared.ui.abstractlisting;
+
+import com.vaadin.shared.AbstractFieldState;
+
+/**
+ * Shared state for {@code AbstractListing}.
+ *
+ * @author Vaadin Ltd
+ * @since 8.0
+ *
+ */
+public class AbstractListingState extends AbstractFieldState {
+
+}
diff --git a/shared/src/main/java/com/vaadin/shared/ui/abstractmultiselect/AbstractMultiSelectState.java b/shared/src/main/java/com/vaadin/shared/ui/abstractmultiselect/AbstractMultiSelectState.java
new file mode 100644
index 0000000000..9019cfbc92
--- /dev/null
+++ b/shared/src/main/java/com/vaadin/shared/ui/abstractmultiselect/AbstractMultiSelectState.java
@@ -0,0 +1,29 @@
+/*
+ * Copyright 2000-2016 Vaadin Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"); you may not
+ * use this file except in compliance with the License. You may obtain a copy of
+ * the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+ * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+ * License for the specific language governing permissions and limitations under
+ * the License.
+ */
+package com.vaadin.shared.ui.abstractmultiselect;
+
+import com.vaadin.shared.ui.abstractlisting.AbstractListingState;
+
+/**
+ * Shared state for {@code AbstractMultiSelect}.
+ *
+ * @author Vaadin Ltd
+ * @since 8.0
+ *
+ */
+public class AbstractMultiSelectState extends AbstractListingState {
+
+}
diff --git a/shared/src/main/java/com/vaadin/shared/ui/colorpicker/AbstractColorPickerState.java b/shared/src/main/java/com/vaadin/shared/ui/colorpicker/AbstractColorPickerState.java
new file mode 100644
index 0000000000..aac0102846
--- /dev/null
+++ b/shared/src/main/java/com/vaadin/shared/ui/colorpicker/AbstractColorPickerState.java
@@ -0,0 +1,38 @@
+/*
+ * Copyright 2000-2016 Vaadin Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"); you may not
+ * use this file except in compliance with the License. You may obtain a copy of
+ * the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+ * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+ * License for the specific language governing permissions and limitations under
+ * the License.
+ */
+package com.vaadin.shared.ui.colorpicker;
+
+import com.vaadin.shared.AbstractFieldState;
+import com.vaadin.shared.annotations.DelegateToWidget;
+
+/**
+ * Default shared state implementation for AbstractColorPicker.
+ *
+ * @since
+ */
+public class AbstractColorPickerState extends AbstractFieldState {
+ {
+ primaryStyleName = "v-colorpicker";
+ }
+
+ @DelegateToWidget("setOpen")
+ public boolean popupVisible = false;
+
+ @DelegateToWidget("setColor")
+ public String color = null;
+
+ public boolean showDefaultCaption;
+}
diff --git a/shared/src/main/java/com/vaadin/shared/ui/colorpicker/ColorPickerAreaState.java b/shared/src/main/java/com/vaadin/shared/ui/colorpicker/ColorPickerAreaState.java
new file mode 100644
index 0000000000..eba6571b7b
--- /dev/null
+++ b/shared/src/main/java/com/vaadin/shared/ui/colorpicker/ColorPickerAreaState.java
@@ -0,0 +1,27 @@
+/*
+ * Copyright 2000-2016 Vaadin Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"); you may not
+ * use this file except in compliance with the License. You may obtain a copy of
+ * the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+ * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+ * License for the specific language governing permissions and limitations under
+ * the License.
+ */
+package com.vaadin.shared.ui.colorpicker;
+
+/**
+ * Default shared state implementation for ColorPickerArea.
+ *
+ * @author Vaadin Ltd.
+ *
+ * @since 8.0
+ */
+public class ColorPickerAreaState extends AbstractColorPickerState {
+
+}
diff --git a/shared/src/main/java/com/vaadin/shared/ui/colorpicker/ColorPickerState.java b/shared/src/main/java/com/vaadin/shared/ui/colorpicker/ColorPickerState.java
index 922534b8b9..171b3837f7 100644
--- a/shared/src/main/java/com/vaadin/shared/ui/colorpicker/ColorPickerState.java
+++ b/shared/src/main/java/com/vaadin/shared/ui/colorpicker/ColorPickerState.java
@@ -15,24 +15,13 @@
*/
package com.vaadin.shared.ui.colorpicker;
-import com.vaadin.shared.AbstractFieldState;
-import com.vaadin.shared.annotations.DelegateToWidget;
-
/**
- * Default shared state implementation for AbstractColorPicker.
+ * Default shared state implementation for ColorPicker.
+ *
+ * @author Vaadin Ltd.
*
- * @since 7.0.0
+ * @since
*/
-public class ColorPickerState extends AbstractFieldState {
- {
- primaryStyleName = "v-colorpicker";
- }
-
- @DelegateToWidget("setOpen")
- public boolean popupVisible = false;
-
- @DelegateToWidget("setColor")
- public String color = null;
+public class ColorPickerState extends AbstractColorPickerState {
- public boolean showDefaultCaption;
}
diff --git a/shared/src/main/java/com/vaadin/shared/ui/customfield/CustomFieldState.java b/shared/src/main/java/com/vaadin/shared/ui/customfield/CustomFieldState.java
new file mode 100644
index 0000000000..467a5ebe99
--- /dev/null
+++ b/shared/src/main/java/com/vaadin/shared/ui/customfield/CustomFieldState.java
@@ -0,0 +1,29 @@
+/*
+ * Copyright 2000-2016 Vaadin Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"); you may not
+ * use this file except in compliance with the License. You may obtain a copy of
+ * the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+ * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+ * License for the specific language governing permissions and limitations under
+ * the License.
+ */
+package com.vaadin.shared.ui.customfield;
+
+import com.vaadin.shared.AbstractFieldState;
+
+/**
+ * State class for CustomField.
+ *
+ * @author Vaadin Ltd
+ * @since 8.0
+ *
+ */
+public class CustomFieldState extends AbstractFieldState {
+
+}
diff --git a/shared/src/main/java/com/vaadin/shared/ui/grid/AbstractGridExtensionState.java b/shared/src/main/java/com/vaadin/shared/ui/grid/AbstractGridExtensionState.java
new file mode 100644
index 0000000000..18dfce3556
--- /dev/null
+++ b/shared/src/main/java/com/vaadin/shared/ui/grid/AbstractGridExtensionState.java
@@ -0,0 +1,28 @@
+/*
+ * Copyright 2000-2016 Vaadin Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"); you may not
+ * use this file except in compliance with the License. You may obtain a copy of
+ * the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+ * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+ * License for the specific language governing permissions and limitations under
+ * the License.
+ */
+package com.vaadin.shared.ui.grid;
+
+import com.vaadin.shared.extension.abstractlisting.AbstractListingExtensionState;
+
+/**
+ * State object for AbstractGridExtension.
+ *
+ * @author Vaadin Ltd
+ * @since 8.0
+ */
+public class AbstractGridExtensionState extends AbstractListingExtensionState {
+
+}
diff --git a/shared/src/main/java/com/vaadin/shared/ui/grid/AbstractSelectionModelState.java b/shared/src/main/java/com/vaadin/shared/ui/grid/AbstractSelectionModelState.java
index 4e0e05c8bd..50047af9c2 100644
--- a/shared/src/main/java/com/vaadin/shared/ui/grid/AbstractSelectionModelState.java
+++ b/shared/src/main/java/com/vaadin/shared/ui/grid/AbstractSelectionModelState.java
@@ -15,8 +15,6 @@
*/
package com.vaadin.shared.ui.grid;
-import com.vaadin.shared.communication.SharedState;
-
/**
* Shared state for grid's abstract selection model.
*
@@ -24,7 +22,7 @@ import com.vaadin.shared.communication.SharedState;
*
* @since 8.0
*/
-public class AbstractSelectionModelState extends SharedState {
+public class AbstractSelectionModelState extends AbstractGridExtensionState {
/**
* Whether the selection model allows selection from the client side.
diff --git a/shared/src/main/java/com/vaadin/shared/ui/grid/ColumnState.java b/shared/src/main/java/com/vaadin/shared/ui/grid/ColumnState.java
index c2f4f6a07e..8d4429484b 100644
--- a/shared/src/main/java/com/vaadin/shared/ui/grid/ColumnState.java
+++ b/shared/src/main/java/com/vaadin/shared/ui/grid/ColumnState.java
@@ -16,9 +16,8 @@
package com.vaadin.shared.ui.grid;
import com.vaadin.shared.Connector;
-import com.vaadin.shared.communication.SharedState;
-public class ColumnState extends SharedState {
+public class ColumnState extends AbstractGridExtensionState {
public String caption;
public String id;
diff --git a/shared/src/main/java/com/vaadin/shared/ui/grid/DetailsManagerState.java b/shared/src/main/java/com/vaadin/shared/ui/grid/DetailsManagerState.java
new file mode 100644
index 0000000000..18432940fe
--- /dev/null
+++ b/shared/src/main/java/com/vaadin/shared/ui/grid/DetailsManagerState.java
@@ -0,0 +1,25 @@
+/*
+ * Copyright 2000-2016 Vaadin Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"); you may not
+ * use this file except in compliance with the License. You may obtain a copy of
+ * the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+ * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+ * License for the specific language governing permissions and limitations under
+ * the License.
+ */
+package com.vaadin.shared.ui.grid;
+
+/**
+ * Shared state for DetailsManager extension.
+ *
+ * @since 8.0
+ */
+public class DetailsManagerState extends AbstractGridExtensionState {
+
+}
diff --git a/shared/src/main/java/com/vaadin/shared/ui/grid/editor/EditorState.java b/shared/src/main/java/com/vaadin/shared/ui/grid/editor/EditorState.java
index 1cae17e135..6d167270c5 100644
--- a/shared/src/main/java/com/vaadin/shared/ui/grid/editor/EditorState.java
+++ b/shared/src/main/java/com/vaadin/shared/ui/grid/editor/EditorState.java
@@ -18,7 +18,7 @@ package com.vaadin.shared.ui.grid.editor;
import java.util.HashMap;
import java.util.Map;
-import com.vaadin.shared.communication.SharedState;
+import com.vaadin.shared.ui.grid.AbstractGridExtensionState;
import com.vaadin.shared.ui.grid.GridConstants;
/**
@@ -27,7 +27,7 @@ import com.vaadin.shared.ui.grid.GridConstants;
* @author Vaadin Ltd
* @since
*/
-public class EditorState extends SharedState {
+public class EditorState extends AbstractGridExtensionState {
{
// Disable editor by default.
diff --git a/shared/src/main/java/com/vaadin/shared/ui/grid/renderers/AbstractRendererState.java b/shared/src/main/java/com/vaadin/shared/ui/grid/renderers/AbstractRendererState.java
new file mode 100644
index 0000000000..ef6390fd60
--- /dev/null
+++ b/shared/src/main/java/com/vaadin/shared/ui/grid/renderers/AbstractRendererState.java
@@ -0,0 +1,29 @@
+/*
+ * Copyright 2000-2016 Vaadin Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"); you may not
+ * use this file except in compliance with the License. You may obtain a copy of
+ * the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+ * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+ * License for the specific language governing permissions and limitations under
+ * the License.
+ */
+package com.vaadin.shared.ui.grid.renderers;
+
+import com.vaadin.shared.communication.SharedState;
+
+/**
+ * Default shared state implementation for AbstractRenderer.
+ *
+ * @author Vaadin Ltd.
+ *
+ * @since 8.0
+ */
+public class AbstractRendererState extends SharedState {
+
+}
diff --git a/shared/src/main/java/com/vaadin/shared/ui/grid/renderers/ButtonRendererState.java b/shared/src/main/java/com/vaadin/shared/ui/grid/renderers/ButtonRendererState.java
new file mode 100644
index 0000000000..9774eec90f
--- /dev/null
+++ b/shared/src/main/java/com/vaadin/shared/ui/grid/renderers/ButtonRendererState.java
@@ -0,0 +1,25 @@
+/*
+ * Copyright 2000-2016 Vaadin Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"); you may not
+ * use this file except in compliance with the License. You may obtain a copy of
+ * the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+ * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+ * License for the specific language governing permissions and limitations under
+ * the License.
+ */
+package com.vaadin.shared.ui.grid.renderers;
+
+/**
+ * Shared state for ButtonRenderer.
+ *
+ * @since 8.0
+ */
+public class ButtonRendererState extends ClickableRendererState {
+
+}
diff --git a/shared/src/main/java/com/vaadin/shared/ui/grid/renderers/CheckBoxRendererState.java b/shared/src/main/java/com/vaadin/shared/ui/grid/renderers/CheckBoxRendererState.java
new file mode 100644
index 0000000000..6d2c30265e
--- /dev/null
+++ b/shared/src/main/java/com/vaadin/shared/ui/grid/renderers/CheckBoxRendererState.java
@@ -0,0 +1,25 @@
+/*
+ * Copyright 2000-2016 Vaadin Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"); you may not
+ * use this file except in compliance with the License. You may obtain a copy of
+ * the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+ * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+ * License for the specific language governing permissions and limitations under
+ * the License.
+ */
+package com.vaadin.shared.ui.grid.renderers;
+
+/**
+ * Shared state for CheckBoxRenderer.
+ *
+ * @since 8.0
+ */
+public class CheckBoxRendererState extends ClickableRendererState {
+
+}
diff --git a/shared/src/main/java/com/vaadin/shared/ui/grid/renderers/ClickableRendererState.java b/shared/src/main/java/com/vaadin/shared/ui/grid/renderers/ClickableRendererState.java
new file mode 100644
index 0000000000..d2d8ec977f
--- /dev/null
+++ b/shared/src/main/java/com/vaadin/shared/ui/grid/renderers/ClickableRendererState.java
@@ -0,0 +1,25 @@
+/*
+ * Copyright 2000-2016 Vaadin Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"); you may not
+ * use this file except in compliance with the License. You may obtain a copy of
+ * the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+ * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+ * License for the specific language governing permissions and limitations under
+ * the License.
+ */
+package com.vaadin.shared.ui.grid.renderers;
+
+/**
+ * Shared state for ClickableRenderer.
+ *
+ * @since 8.0
+ */
+public class ClickableRendererState extends AbstractRendererState {
+
+}
diff --git a/shared/src/main/java/com/vaadin/shared/ui/grid/renderers/DateRendererState.java b/shared/src/main/java/com/vaadin/shared/ui/grid/renderers/DateRendererState.java
new file mode 100644
index 0000000000..50207f96ca
--- /dev/null
+++ b/shared/src/main/java/com/vaadin/shared/ui/grid/renderers/DateRendererState.java
@@ -0,0 +1,25 @@
+/*
+ * Copyright 2000-2016 Vaadin Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"); you may not
+ * use this file except in compliance with the License. You may obtain a copy of
+ * the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+ * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+ * License for the specific language governing permissions and limitations under
+ * the License.
+ */
+package com.vaadin.shared.ui.grid.renderers;
+
+/**
+ * Shared state for DateRenderer.
+ *
+ * @since 8.0
+ */
+public class DateRendererState extends TextRendererState {
+
+}
diff --git a/shared/src/main/java/com/vaadin/shared/ui/grid/renderers/HtmlRendererState.java b/shared/src/main/java/com/vaadin/shared/ui/grid/renderers/HtmlRendererState.java
new file mode 100644
index 0000000000..10501798ff
--- /dev/null
+++ b/shared/src/main/java/com/vaadin/shared/ui/grid/renderers/HtmlRendererState.java
@@ -0,0 +1,25 @@
+/*
+ * Copyright 2000-2016 Vaadin Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"); you may not
+ * use this file except in compliance with the License. You may obtain a copy of
+ * the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+ * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+ * License for the specific language governing permissions and limitations under
+ * the License.
+ */
+package com.vaadin.shared.ui.grid.renderers;
+
+/**
+ * Shared state for HtmlRenderer.
+ *
+ * @since 8.0
+ */
+public class HtmlRendererState extends AbstractRendererState {
+
+}
diff --git a/shared/src/main/java/com/vaadin/shared/ui/grid/renderers/ImageRendererState.java b/shared/src/main/java/com/vaadin/shared/ui/grid/renderers/ImageRendererState.java
new file mode 100644
index 0000000000..94b2e577d2
--- /dev/null
+++ b/shared/src/main/java/com/vaadin/shared/ui/grid/renderers/ImageRendererState.java
@@ -0,0 +1,25 @@
+/*
+ * Copyright 2000-2016 Vaadin Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"); you may not
+ * use this file except in compliance with the License. You may obtain a copy of
+ * the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+ * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+ * License for the specific language governing permissions and limitations under
+ * the License.
+ */
+package com.vaadin.shared.ui.grid.renderers;
+
+/**
+ * Shared state for ImageRenderer.
+ *
+ * @since 8.0
+ */
+public class ImageRendererState extends ClickableRendererState {
+
+}
diff --git a/shared/src/main/java/com/vaadin/shared/ui/grid/renderers/NumberRendererState.java b/shared/src/main/java/com/vaadin/shared/ui/grid/renderers/NumberRendererState.java
new file mode 100644
index 0000000000..6508ff175e
--- /dev/null
+++ b/shared/src/main/java/com/vaadin/shared/ui/grid/renderers/NumberRendererState.java
@@ -0,0 +1,25 @@
+/*
+ * Copyright 2000-2016 Vaadin Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"); you may not
+ * use this file except in compliance with the License. You may obtain a copy of
+ * the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+ * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+ * License for the specific language governing permissions and limitations under
+ * the License.
+ */
+package com.vaadin.shared.ui.grid.renderers;
+
+/**
+ * Shared state for HtmlRenderer.
+ *
+ * @since 8.0
+ */
+public class NumberRendererState extends TextRendererState {
+
+}
diff --git a/shared/src/main/java/com/vaadin/shared/ui/grid/renderers/ProgressBarRendererState.java b/shared/src/main/java/com/vaadin/shared/ui/grid/renderers/ProgressBarRendererState.java
new file mode 100644
index 0000000000..6cb3a1e497
--- /dev/null
+++ b/shared/src/main/java/com/vaadin/shared/ui/grid/renderers/ProgressBarRendererState.java
@@ -0,0 +1,25 @@
+/*
+ * Copyright 2000-2016 Vaadin Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"); you may not
+ * use this file except in compliance with the License. You may obtain a copy of
+ * the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+ * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+ * License for the specific language governing permissions and limitations under
+ * the License.
+ */
+package com.vaadin.shared.ui.grid.renderers;
+
+/**
+ * Shared state for HtmlRenderer.
+ *
+ * @since 8.0
+ */
+public class ProgressBarRendererState extends AbstractRendererState {
+
+}
diff --git a/shared/src/main/java/com/vaadin/shared/ui/grid/renderers/TextRendererState.java b/shared/src/main/java/com/vaadin/shared/ui/grid/renderers/TextRendererState.java
new file mode 100644
index 0000000000..952f1d6c13
--- /dev/null
+++ b/shared/src/main/java/com/vaadin/shared/ui/grid/renderers/TextRendererState.java
@@ -0,0 +1,25 @@
+/*
+ * Copyright 2000-2016 Vaadin Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"); you may not
+ * use this file except in compliance with the License. You may obtain a copy of
+ * the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+ * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+ * License for the specific language governing permissions and limitations under
+ * the License.
+ */
+package com.vaadin.shared.ui.grid.renderers;
+
+/**
+ * Shared state for TextRenderer.
+ *
+ * @since 8.0
+ */
+public class TextRendererState extends AbstractRendererState {
+
+}
diff --git a/shared/src/main/java/com/vaadin/shared/ui/listselect/ListSelectState.java b/shared/src/main/java/com/vaadin/shared/ui/listselect/ListSelectState.java
index f90ca79368..add408b868 100644
--- a/shared/src/main/java/com/vaadin/shared/ui/listselect/ListSelectState.java
+++ b/shared/src/main/java/com/vaadin/shared/ui/listselect/ListSelectState.java
@@ -15,8 +15,8 @@
*/
package com.vaadin.shared.ui.listselect;
-import com.vaadin.shared.AbstractFieldState;
import com.vaadin.shared.annotations.DelegateToWidget;
+import com.vaadin.shared.ui.abstractmultiselect.AbstractMultiSelectState;
/**
* Shared state for ListSelect component.
@@ -24,7 +24,7 @@ import com.vaadin.shared.annotations.DelegateToWidget;
* @author Vaadin Ltd
*
*/
-public class ListSelectState extends AbstractFieldState {
+public class ListSelectState extends AbstractMultiSelectState {
{
primaryStyleName = "v-select";
}
diff --git a/shared/src/main/java/com/vaadin/shared/ui/optiongroup/CheckBoxGroupState.java b/shared/src/main/java/com/vaadin/shared/ui/optiongroup/CheckBoxGroupState.java
index 93647c2a22..6a1d5ca18c 100644
--- a/shared/src/main/java/com/vaadin/shared/ui/optiongroup/CheckBoxGroupState.java
+++ b/shared/src/main/java/com/vaadin/shared/ui/optiongroup/CheckBoxGroupState.java
@@ -15,8 +15,8 @@
*/
package com.vaadin.shared.ui.optiongroup;
-import com.vaadin.shared.AbstractFieldState;
import com.vaadin.shared.annotations.DelegateToWidget;
+import com.vaadin.shared.ui.abstractmultiselect.AbstractMultiSelectState;
/**
* Shared state for the CheckBoxGroup component.
@@ -24,7 +24,7 @@ import com.vaadin.shared.annotations.DelegateToWidget;
* @author Vaadin Ltd.
* @since 8.0
*/
-public class CheckBoxGroupState extends AbstractFieldState {
+public class CheckBoxGroupState extends AbstractMultiSelectState {
{
primaryStyleName = "v-select-optiongroup";
diff --git a/shared/src/main/java/com/vaadin/shared/ui/passwordfield/PasswordFieldState.java b/shared/src/main/java/com/vaadin/shared/ui/passwordfield/PasswordFieldState.java
new file mode 100644
index 0000000000..35efc468d0
--- /dev/null
+++ b/shared/src/main/java/com/vaadin/shared/ui/passwordfield/PasswordFieldState.java
@@ -0,0 +1,29 @@
+/*
+ * Copyright 2000-2016 Vaadin Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"); you may not
+ * use this file except in compliance with the License. You may obtain a copy of
+ * the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+ * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+ * License for the specific language governing permissions and limitations under
+ * the License.
+ */
+package com.vaadin.shared.ui.passwordfield;
+
+import com.vaadin.shared.ui.textfield.TextFieldState;
+
+/**
+ * State class for PasswordField.
+ *
+ * @author Vaadin Ltd
+ * @since 8.0
+ *
+ */
+public class PasswordFieldState extends TextFieldState {
+
+}
diff --git a/shared/src/main/java/com/vaadin/shared/ui/twincolselect/TwinColSelectState.java b/shared/src/main/java/com/vaadin/shared/ui/twincolselect/TwinColSelectState.java
index b0e148e656..de030e3464 100644
--- a/shared/src/main/java/com/vaadin/shared/ui/twincolselect/TwinColSelectState.java
+++ b/shared/src/main/java/com/vaadin/shared/ui/twincolselect/TwinColSelectState.java
@@ -15,15 +15,15 @@
*/
package com.vaadin.shared.ui.twincolselect;
-import com.vaadin.shared.AbstractFieldState;
import com.vaadin.shared.annotations.DelegateToWidget;
+import com.vaadin.shared.ui.abstractmultiselect.AbstractMultiSelectState;
/**
* Shared state for the TwinColSelect component.
*
* @since 7.0
*/
-public class TwinColSelectState extends AbstractFieldState {
+public class TwinColSelectState extends AbstractMultiSelectState {
{
primaryStyleName = "v-select-twincol";
}