summaryrefslogtreecommitdiffstats
path: root/server
diff options
context:
space:
mode:
authorTeemu Suo-Anttila <teemusa@vaadin.com>2015-05-26 11:47:39 +0300
committerVaadin Code Review <review@vaadin.com>2015-05-26 12:26:55 +0000
commit90b6f7dcab2758b1f026af60a58982bc0cfaff22 (patch)
treec8339ebe8e405f7ea43d9e463eeedd49d57effc9 /server
parentac92875a94262e0801052a35b964213f5ee37148 (diff)
downloadvaadin-framework-90b6f7dcab2758b1f026af60a58982bc0cfaff22.tar.gz
vaadin-framework-90b6f7dcab2758b1f026af60a58982bc0cfaff22.zip
Split AbstractGridExtension from AbstractRenderer (#18003)
Change-Id: Ibe5766cde606091ce2bd58055472fa7cf3f21374
Diffstat (limited to 'server')
-rw-r--r--server/src/com/vaadin/ui/Grid.java37
-rw-r--r--server/tests/src/com/vaadin/tests/server/component/grid/GridExtensionTest.java41
2 files changed, 73 insertions, 5 deletions
diff --git a/server/src/com/vaadin/ui/Grid.java b/server/src/com/vaadin/ui/Grid.java
index 902098e8d0..2c7e63ddf8 100644
--- a/server/src/com/vaadin/ui/Grid.java
+++ b/server/src/com/vaadin/ui/Grid.java
@@ -3274,15 +3274,15 @@ public class Grid extends AbstractComponent implements SelectionNotifier,
/**
* An abstract base class for server-side Grid renderers.
* {@link com.vaadin.client.widget.grid.Renderer Grid renderers}. This class
- * currently extends the AbstractExtension superclass, but this fact should
- * be regarded as an implementation detail and subject to change in a future
- * major or minor Vaadin revision.
+ * currently extends the AbstractGridExtension superclass, but this fact
+ * should be regarded as an implementation detail and subject to change in a
+ * future major or minor Vaadin revision.
*
* @param <T>
* the type this renderer knows how to present
*/
- public static abstract class AbstractRenderer<T> extends AbstractExtension
- implements Renderer<T> {
+ public static abstract class AbstractRenderer<T> extends
+ AbstractGridExtension implements Renderer<T> {
private final Class<T> presentationType;
@@ -3340,6 +3340,33 @@ public class Grid extends AbstractComponent implements SelectionNotifier,
return JsonCodec.encode(value, null, type,
getUI().getConnectorTracker()).getEncodedValue();
}
+ }
+
+ /**
+ * An abstract base class for server-side Grid extensions.
+ *
+ * @since
+ */
+ public static abstract class AbstractGridExtension extends
+ AbstractExtension {
+
+ /**
+ * Constructs a new Grid extension.
+ */
+ public AbstractGridExtension() {
+ super();
+ }
+
+ /**
+ * Constructs a new Grid extension and extends given Grid.
+ *
+ * @param grid
+ * a grid instance
+ */
+ public AbstractGridExtension(Grid grid) {
+ super();
+ extend(grid);
+ }
/**
* Gets the item id for a row key.
diff --git a/server/tests/src/com/vaadin/tests/server/component/grid/GridExtensionTest.java b/server/tests/src/com/vaadin/tests/server/component/grid/GridExtensionTest.java
new file mode 100644
index 0000000000..d9db217aa3
--- /dev/null
+++ b/server/tests/src/com/vaadin/tests/server/component/grid/GridExtensionTest.java
@@ -0,0 +1,41 @@
+/*
+ * Copyright 2000-2014 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.tests.server.component.grid;
+
+import static org.junit.Assert.assertTrue;
+
+import org.junit.Test;
+
+import com.vaadin.ui.Grid;
+import com.vaadin.ui.Grid.AbstractGridExtension;
+
+public class GridExtensionTest {
+
+ public static class DummyGridExtension extends AbstractGridExtension {
+
+ public DummyGridExtension(Grid grid) {
+ super(grid);
+ }
+ }
+
+ @Test
+ public void testCreateExtension() {
+ Grid grid = new Grid();
+ DummyGridExtension dummy = new DummyGridExtension(grid);
+ assertTrue("DummyGridExtension never made it to Grid", grid
+ .getExtensions().contains(dummy));
+ }
+}