jet.html.core
Class JetComponent

java.lang.Object
  extended by jet.html.core.JetComponent
All Implemented Interfaces:
java.io.Serializable, java.lang.Cloneable, Decodeable, JetComponent
Direct Known Subclasses:
JetChildComponent, JetOption

public abstract class JetComponent
extends java.lang.Object
implements JetComponent

Abstract class describing a jet component style and implements generic fields and methods

Author:
Markus.Meisters@web.de
See Also:
Serialized Form

Field Summary
private  boolean componentChanged
          Indicates if the component has changed
private static int componentIdentifier
           
private  long continueIdentifier
           
protected  EventSupport<java.lang.Enum> eventSupport
           
private static java.lang.String ID_SEPARATOR
           
private  java.lang.String identifier
          the identifier
private static java.util.concurrent.locks.ReentrantLock lock
           
private  java.lang.String name
          the component name
private  java.lang.String styleclass
          the styleclass name
 
Constructor Summary
JetComponent(java.lang.String identifier)
          Constructor(identifier)
JetComponent(java.lang.String identifier, java.lang.String styleclass)
          Constructor(identifier, stylclass)
JetComponent(java.lang.String identifier, java.lang.String name, java.lang.String styleclass)
          Constructor(identifier, stylclass)
 
Method Summary
 void addListener(EventListener listener)
           
 void addListener(EventType type, EventListener listener)
           
abstract  java.lang.Object clone()
          Abstract method to clone the component - necessary for ObjectPool
 boolean componentChanged()
          Indicates if the component has changed
abstract  void decodeForm(java.lang.StringBuilder builder, JetContext jetConetxt)
          abstract method to decode the component to form
 JetComponent findComponent(java.lang.String identifier)
          Method to get component by identifier
 java.util.Collection<JetComponent> findComponents(java.lang.Class c)
          Method to get components by class - e.g. retrieving all input fields
private  java.util.Collection<JetComponent> findComponents(java.lang.Class c, java.util.Collection result)
          Method to get components by class - e.g. retrieving all input fields the HashMap returned must be given
static java.lang.String getGeneratedComponentIdentifier(java.lang.Class clazz)
           
 java.lang.String getIdentifier()
          Returns the identifier
 java.lang.String getName()
          Returns the name of the component
 long getNewIdentifier()
           
 java.lang.String getStyleclass()
          Returns the styleclass name
private  long incrementContinueIdentifier()
           
 java.lang.String incrementIdentifier()
           
abstract  boolean isHidden()
          indicates if the component is hidden
 void removeListener(EventListener listener)
           
 void removeListener(EventType type, EventListener listener)
           
 void setComponentChanged(boolean changed)
          Indicates if the component has changed
 void setContinueIdentifier(long newIdentifier)
           
 void setIdentifier(java.lang.String identifier)
          Set the identifier
 void setName(java.lang.String name)
          Set the name of the component
 void setStyleclass(java.lang.String styleclass)
          Set the styleclass
abstract  void toggleHidden()
          Toggles the hidden flag
 
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

eventSupport

protected EventSupport<java.lang.Enum> eventSupport

componentIdentifier

private static int componentIdentifier

lock

private static java.util.concurrent.locks.ReentrantLock lock

ID_SEPARATOR

private static java.lang.String ID_SEPARATOR

continueIdentifier

private long continueIdentifier

identifier

private java.lang.String identifier
the identifier


name

private java.lang.String name
the component name


styleclass

private java.lang.String styleclass
the styleclass name


componentChanged

private boolean componentChanged
Indicates if the component has changed

Constructor Detail

JetComponent

public JetComponent(java.lang.String identifier)
             throws java.lang.IllegalArgumentException
Constructor(identifier)

Parameters:
identifier - identifier
Throws:
java.lang.IllegalArgumentException

JetComponent

public JetComponent(java.lang.String identifier,
                    java.lang.String styleclass)
Constructor(identifier, stylclass)

Parameters:
identifier - identifier
styleclass - style class name

JetComponent

public JetComponent(java.lang.String identifier,
                    java.lang.String name,
                    java.lang.String styleclass)
Constructor(identifier, stylclass)

Parameters:
identifier - identifier
name - the component name
styleclass - style class name
Method Detail

getGeneratedComponentIdentifier

public static java.lang.String getGeneratedComponentIdentifier(java.lang.Class clazz)

componentChanged

public boolean componentChanged()
Indicates if the component has changed

Specified by:
componentChanged in interface JetComponent

setComponentChanged

public void setComponentChanged(boolean changed)
Indicates if the component has changed

Specified by:
setComponentChanged in interface JetComponent

decodeForm

public abstract void decodeForm(java.lang.StringBuilder builder,
                                JetContext jetConetxt)
abstract method to decode the component to form

Specified by:
decodeForm in interface Decodeable
Specified by:
decodeForm in interface JetComponent

findComponent

public JetComponent findComponent(java.lang.String identifier)
Method to get component by identifier

Specified by:
findComponent in interface JetComponent

findComponents

public java.util.Collection<JetComponent> findComponents(java.lang.Class c)
Method to get components by class - e.g. retrieving all input fields

Specified by:
findComponents in interface JetComponent

findComponents

private java.util.Collection<JetComponent> findComponents(java.lang.Class c,
                                                          java.util.Collection result)
Method to get components by class - e.g. retrieving all input fields the HashMap returned must be given


getIdentifier

public java.lang.String getIdentifier()
Returns the identifier

Specified by:
getIdentifier in interface JetComponent
Returns:
the identifier

setIdentifier

public void setIdentifier(java.lang.String identifier)
Set the identifier

Specified by:
setIdentifier in interface JetComponent
Parameters:
identifier - identifier

getName

public java.lang.String getName()
Returns the name of the component

Specified by:
getName in interface JetComponent

setName

public void setName(java.lang.String name)
Set the name of the component

Specified by:
setName in interface JetComponent
Parameters:
name - the name

getStyleclass

public java.lang.String getStyleclass()
Returns the styleclass name

Specified by:
getStyleclass in interface JetComponent
Returns:
String the styleclass name

setStyleclass

public void setStyleclass(java.lang.String styleclass)
Set the styleclass

Specified by:
setStyleclass in interface JetComponent
Parameters:
styleclass -

isHidden

public abstract boolean isHidden()
indicates if the component is hidden

Specified by:
isHidden in interface JetComponent
Returns:
boolean hidden flag

toggleHidden

public abstract void toggleHidden()
Toggles the hidden flag

Specified by:
toggleHidden in interface JetComponent

clone

public abstract java.lang.Object clone()
Abstract method to clone the component - necessary for ObjectPool

Specified by:
clone in interface JetComponent
Overrides:
clone in class java.lang.Object
Returns:
Obejct the clone of it

addListener

public void addListener(EventListener listener)
Specified by:
addListener in interface JetComponent

addListener

public void addListener(EventType type,
                        EventListener listener)
Specified by:
addListener in interface JetComponent

removeListener

public void removeListener(EventListener listener)
Specified by:
removeListener in interface JetComponent

removeListener

public void removeListener(EventType type,
                           EventListener listener)
Specified by:
removeListener in interface JetComponent

getNewIdentifier

public long getNewIdentifier()

setContinueIdentifier

public void setContinueIdentifier(long newIdentifier)
Specified by:
setContinueIdentifier in interface JetComponent

incrementContinueIdentifier

private long incrementContinueIdentifier()

incrementIdentifier

public java.lang.String incrementIdentifier()
Specified by:
incrementIdentifier in interface JetComponent