diff options
author | Teemu Suo-Anttila <teemusa@vaadin.com> | 2015-05-26 11:47:39 +0300 |
---|---|---|
committer | Vaadin Code Review <review@vaadin.com> | 2015-05-26 12:26:55 +0000 |
commit | 90b6f7dcab2758b1f026af60a58982bc0cfaff22 (patch) | |
tree | c8339ebe8e405f7ea43d9e463eeedd49d57effc9 /server | |
parent | ac92875a94262e0801052a35b964213f5ee37148 (diff) | |
download | vaadin-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.java | 37 | ||||
-rw-r--r-- | server/tests/src/com/vaadin/tests/server/component/grid/GridExtensionTest.java | 41 |
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)); + } +} |