com.vaadin.ui.


Class CustomComponent

java.lang.Object
  com.vaadin.ui.AbstractComponent
      com.vaadin.ui.AbstractComponentContainer
          com.vaadin.ui.CustomComponent

All Implemented Interfaces:

MethodEventSource, Paintable, Sizeable, VariableOwner, Component, ComponentContainer, Serializable, EventListener

Direct Known Subclasses:

DragAndDropWrapper, LoginForm

public class CustomComponent
extends AbstractComponentContainer

Custom component provides simple implementation of Component interface for creation of new UI components by composition of existing components.

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.

Since:

3.0

Version:

6.8.18

Author:

Vaadin Ltd.

See Also:

Serialized Form

Nested Class Summary
 
Nested classes/interfaces inherited from class com.vaadin.ui.AbstractComponent
AbstractComponent.ComponentErrorEvent, AbstractComponent.ComponentErrorHandler
 
Nested classes/interfaces inherited from interface com.vaadin.ui.ComponentContainer
ComponentContainer.ComponentAttachEvent, ComponentContainer.ComponentAttachListener, ComponentContainer.ComponentDetachEvent, ComponentContainer.ComponentDetachListener
 
Nested classes/interfaces inherited from interface com.vaadin.ui.Component
Component.ErrorEvent, Component.ErrorListener, Component.Event, Component.Focusable, Component.Listener
 
Nested classes/interfaces inherited from interface com.vaadin.terminal.Paintable
Paintable.RepaintRequestEvent, Paintable.RepaintRequestListener
 
Field Summary
 
Fields inherited from interface com.vaadin.terminal.Sizeable
SIZE_UNDEFINED, UNIT_SYMBOLS, UNITS_CM, UNITS_EM, UNITS_EX, UNITS_INCH, UNITS_MM, UNITS_PERCENTAGE, UNITS_PICAS, UNITS_PIXELS, UNITS_POINTS
 
Constructor Summary
CustomComponent()
          Constructs a new custom component.
CustomComponent(Component compositionRoot)
          Constructs a new custom component.
 
Method Summary
 void addComponent(Component c)
          This method is not supported by CustomComponent.
 int getComponentCount()
          Gets the number of contained components.
 Iterator<Component> getComponentIterator()
          Gets an iterator to the collection of contained components.
 String getComponentType()
          Deprecated. not more useful as the whole tag system has been removed
protected  Component getCompositionRoot()
          Returns the composition root.
 void moveComponentsFrom(ComponentContainer source)
          This method is not supported by CustomComponent.
 void paintContent(PaintTarget target)
          Paints any needed component-specific things to the given UIDL stream.
 void removeAllComponents()
          This method is not supported by CustomComponent.
 void removeComponent(Component c)
          This method is not supported by CustomComponent.
 void replaceComponent(Component oldComponent, Component newComponent)
          This method is not supported by CustomComponent.
 void setComponentType(String componentType)
          Deprecated. not more useful as the whole tag system has been removed
protected  void setCompositionRoot(Component compositionRoot)
          Sets the compositions root.
 
Methods inherited from class com.vaadin.ui.AbstractComponentContainer
addListener, addListener, attach, detach, fireComponentAttachEvent, fireComponentDetachEvent, removeListener, removeListener, requestRepaintAll, setEnabled, setHeight, setWidth
 
Methods inherited from class com.vaadin.ui.AbstractComponent
addListener, addListener, addListener, addListener, addListener, addStyleName, changeVariables, childRequestedRepaint, fireComponentErrorEvent, fireComponentEvent, fireEvent, focus, getApplication, getCaption, getComponentError, getData, getDebugId, getDescription, getErrorHandler, getErrorMessage, getHeight, getHeightUnits, getIcon, getListeners, getLocale, getParent, getStyle, getStyleName, getWidth, getWidthUnits, getWindow, handleError, hasListeners, isEnabled, isImmediate, isReadOnly, isVisible, paint, removeListener, removeListener, removeListener, removeListener, removeListener, removeListener, removeStyleName, requestRepaint, requestRepaintRequests, setCaption, setComponentError, setData, setDebugId, setDescription, setErrorHandler, setHeight, setHeight, setHeightUnits, setIcon, setImmediate, setLocale, setParent, setReadOnly, setSizeFull, setSizeUndefined, setStyle, setStyleName, setVisible, setWidth, setWidth, setWidthUnits
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface com.vaadin.ui.Component
addListener, addStyleName, childRequestedRepaint, getApplication, getCaption, getIcon, getLocale, getParent, getStyleName, getWindow, isEnabled, isReadOnly, isVisible, removeListener, removeStyleName, setCaption, setIcon, setParent, setReadOnly, setStyleName, setVisible
 
Methods inherited from interface com.vaadin.terminal.Paintable
addListener, getDebugId, paint, removeListener, requestRepaint, requestRepaintRequests, setDebugId
 
Methods inherited from interface com.vaadin.terminal.VariableOwner
changeVariables, isImmediate
 
Methods inherited from interface com.vaadin.terminal.Sizeable
getHeight, getHeightUnits, getWidth, getWidthUnits, setHeight, setHeight, setHeightUnits, setSizeFull, setSizeUndefined, setWidth, setWidth, setWidthUnits
 

Constructor Detail

CustomComponent

public CustomComponent()

Constructs a new custom component.

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.

CustomComponent

public CustomComponent(Component compositionRoot)

Constructs a new custom component.

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.

Parameters:
compositionRoot - the root of the composition component tree.

Method Detail

getCompositionRoot

protected Component getCompositionRoot()

Returns the composition root.

Returns:
the Component Composition root.

setCompositionRoot

protected void setCompositionRoot(Component compositionRoot)

Sets the compositions root.

The composition root must be set to non-null value before the component can be used. The composition root can only be set once.

Parameters:
compositionRoot - the root of the composition component tree.

paintContent

public void paintContent(PaintTarget target)
                  throws PaintException

Description copied from class: AbstractComponent

Paints any needed component-specific things to the given UIDL stream. The more general AbstractComponent.paint(PaintTarget) method handles all general attributes common to all components, and it calls this method to paint any component-specific attributes to the UIDL stream.

Overrides:
paintContent in class AbstractComponent

Parameters:
target - the target UIDL stream where the component should paint itself to
Throws:
PaintException - if the paint operation failed.

getComponentType

@Deprecated
public String getComponentType()

Deprecated. not more useful as the whole tag system has been removed

Gets the component type. The component type is textual type of the component. This is included in the UIDL as component tag attribute.

Returns:
the component type.

setComponentType

@Deprecated
public void setComponentType(String componentType)

Deprecated. not more useful as the whole tag system has been removed

Sets the component type. The component type is textual type of the component. This is included in the UIDL as component tag attribute.

Parameters:
componentType - the componentType to set.

getComponentIterator

public Iterator<Component> getComponentIterator()

Description copied from interface: ComponentContainer

Gets an iterator to the collection of contained components. Using this iterator it is possible to step through all components contained in this container.

Returns:
the component iterator.

getComponentCount

public int getComponentCount()

Gets the number of contained components. Consistent with the iterator returned by getComponentIterator().

Returns:
the number of contained components (zero or one)

replaceComponent

public void replaceComponent(Component oldComponent,
                             Component newComponent)

This method is not supported by CustomComponent.

Parameters:
oldComponent - the old component that will be replaced.
newComponent - the new component to be replaced.
See Also:
ComponentContainer.replaceComponent(com.vaadin.ui.Component, com.vaadin.ui.Component)

addComponent

public void addComponent(Component c)

This method is not supported by CustomComponent. Use setCompositionRoot(Component) to set CustomComponents "child".

Specified by:
addComponent in interface ComponentContainer
Overrides:
addComponent in class AbstractComponentContainer

Parameters:
c - the component to be added.
See Also:
AbstractComponentContainer.addComponent(com.vaadin.ui.Component)

moveComponentsFrom

public void moveComponentsFrom(ComponentContainer source)

This method is not supported by CustomComponent.

Specified by:
moveComponentsFrom in interface ComponentContainer
Overrides:
moveComponentsFrom in class AbstractComponentContainer

Parameters:
source - the container which contains the components that are to be moved to this container.
See Also:
AbstractComponentContainer.moveComponentsFrom(com.vaadin.ui.ComponentContainer)

removeAllComponents

public void removeAllComponents()

This method is not supported by CustomComponent.

Specified by:
removeAllComponents in interface ComponentContainer
Overrides:
removeAllComponents in class AbstractComponentContainer

See Also:
AbstractComponentContainer.removeAllComponents()

removeComponent

public void removeComponent(Component c)

This method is not supported by CustomComponent.

Specified by:
removeComponent in interface ComponentContainer
Overrides:
removeComponent in class AbstractComponentContainer

Parameters:
c - the component to be removed.
See Also:
AbstractComponentContainer.removeComponent(com.vaadin.ui.Component)