summaryrefslogtreecommitdiffstats
path: root/src/com/vaadin/ui/CustomComponent.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/com/vaadin/ui/CustomComponent.java')
-rw-r--r--src/com/vaadin/ui/CustomComponent.java189
1 files changed, 0 insertions, 189 deletions
diff --git a/src/com/vaadin/ui/CustomComponent.java b/src/com/vaadin/ui/CustomComponent.java
deleted file mode 100644
index 40b5dcd636..0000000000
--- a/src/com/vaadin/ui/CustomComponent.java
+++ /dev/null
@@ -1,189 +0,0 @@
-/*
-@VaadinApache2LicenseForJavaFiles@
- */
-
-package com.vaadin.ui;
-
-import java.io.Serializable;
-import java.util.Iterator;
-
-/**
- * Custom component provides simple implementation of Component interface for
- * creation of new UI components by composition of existing components.
- * <p>
- * The component is used by inheriting the CustomComponent class and setting
- * composite root inside the Custom component. The composite root itself can
- * contain more components, but their interfaces are hidden from the users.
- * </p>
- *
- * @author Vaadin Ltd.
- * @version
- * @VERSION@
- * @since 3.0
- */
-@SuppressWarnings("serial")
-public class CustomComponent extends AbstractComponentContainer {
-
- /**
- * The root component implementing the custom component.
- */
- private Component root = null;
-
- /**
- * Constructs a new custom component.
- *
- * <p>
- * The component is implemented by wrapping the methods of the composition
- * root component given as parameter. The composition root must be set
- * before the component can be used.
- * </p>
- */
- public CustomComponent() {
- // expand horizontally by default
- setWidth(100, UNITS_PERCENTAGE);
- }
-
- /**
- * Constructs a new custom component.
- *
- * <p>
- * The component is implemented by wrapping the methods of the composition
- * root component given as parameter. The composition root must not be null
- * and can not be changed after the composition.
- * </p>
- *
- * @param compositionRoot
- * the root of the composition component tree.
- */
- public CustomComponent(Component compositionRoot) {
- this();
- setCompositionRoot(compositionRoot);
- }
-
- /**
- * Returns the composition root.
- *
- * @return the Component Composition root.
- */
- protected Component getCompositionRoot() {
- return root;
- }
-
- /**
- * Sets the compositions root.
- * <p>
- * The composition root must be set to non-null value before the component
- * can be used. The composition root can only be set once.
- * </p>
- *
- * @param compositionRoot
- * the root of the composition component tree.
- */
- protected void setCompositionRoot(Component compositionRoot) {
- if (compositionRoot != root) {
- if (root != null) {
- // remove old component
- super.removeComponent(root);
- }
- if (compositionRoot != null) {
- // set new component
- super.addComponent(compositionRoot);
- }
- root = compositionRoot;
- requestRepaint();
- }
- }
-
- /* Basic component features ------------------------------------------ */
-
- private class ComponentIterator implements Iterator<Component>,
- Serializable {
- boolean first = getCompositionRoot() != null;
-
- @Override
- public boolean hasNext() {
- return first;
- }
-
- @Override
- public Component next() {
- first = false;
- return root;
- }
-
- @Override
- public void remove() {
- throw new UnsupportedOperationException();
- }
- }
-
- @Override
- public Iterator<Component> getComponentIterator() {
- return new ComponentIterator();
- }
-
- /**
- * Gets the number of contained components. Consistent with the iterator
- * returned by {@link #getComponentIterator()}.
- *
- * @return the number of contained components (zero or one)
- */
- @Override
- public int getComponentCount() {
- return (root != null ? 1 : 0);
- }
-
- /**
- * This method is not supported by CustomComponent.
- *
- * @see com.vaadin.ui.ComponentContainer#replaceComponent(com.vaadin.ui.Component,
- * com.vaadin.ui.Component)
- */
- @Override
- public void replaceComponent(Component oldComponent, Component newComponent) {
- throw new UnsupportedOperationException();
- }
-
- /**
- * This method is not supported by CustomComponent. Use
- * {@link CustomComponent#setCompositionRoot(Component)} to set
- * CustomComponents "child".
- *
- * @see com.vaadin.ui.AbstractComponentContainer#addComponent(com.vaadin.ui.Component)
- */
- @Override
- public void addComponent(Component c) {
- throw new UnsupportedOperationException();
- }
-
- /**
- * This method is not supported by CustomComponent.
- *
- * @see com.vaadin.ui.AbstractComponentContainer#moveComponentsFrom(com.vaadin.ui.ComponentContainer)
- */
- @Override
- public void moveComponentsFrom(ComponentContainer source) {
- throw new UnsupportedOperationException();
- }
-
- /**
- * This method is not supported by CustomComponent.
- *
- * @see com.vaadin.ui.AbstractComponentContainer#removeAllComponents()
- */
- @Override
- public void removeAllComponents() {
- throw new UnsupportedOperationException();
- }
-
- /**
- * This method is not supported by CustomComponent.
- *
- * @see com.vaadin.ui.AbstractComponentContainer#removeComponent(com.vaadin.ui.Component)
- */
- @Override
- public void removeComponent(Component c) {
- throw new UnsupportedOperationException();
- }
-
-}