org.nuiton.wikitty
Class WikittyExtension

java.lang.Object
  extended by org.nuiton.wikitty.WikittyExtension
All Implemented Interfaces:
java.io.Serializable

public class WikittyExtension
extends java.lang.Object
implements java.io.Serializable

Version:
$Revision: 417 $ Last update: $Date: 2010-10-15 17:24:44 +0200 (ven., 15 oct. 2010) $ by : $Author: sletellier $
Author:
poussin
See Also:
Serialized Form

Field Summary
protected static java.util.regex.Pattern fieldNamePattern
          Field name pattern only word character [a-zA-Z_0-9] is accepted
protected  java.util.LinkedHashMap<java.lang.String,FieldType> fields
          fields use ordered map, to keep order insertion of field key: field name value: field type
protected  java.lang.String name
          Name of this extension.
protected  java.beans.PropertyChangeSupport propertyChangeSupport
          Property change support.
protected  java.lang.String requires
          Name of other extension needed to put this extension to object.
protected  java.util.Map<java.lang.String,java.lang.String> tagValues
          used to store tag/value used by client side ex: updatedDate=101212
protected  java.lang.String version
          use to know version objet, when you change field number, type or other you must change version number.
 
Constructor Summary
WikittyExtension()
          Default constructor.
WikittyExtension(java.lang.String name)
           
WikittyExtension(java.lang.String name, java.lang.String version, java.lang.String requires, java.util.LinkedHashMap<java.lang.String,FieldType> fields)
           
 
Method Summary
 void addField(java.lang.String fieldName, FieldType type)
           
 void addPropertyChangeListener(java.beans.PropertyChangeListener listener)
           
 void addPropertyChangeListener(java.lang.String propertyName, java.beans.PropertyChangeListener listener)
           
 void addTagValue(java.lang.String tag, java.lang.String value)
           
 WikittyExtension cloneForUpgrade()
           
static java.lang.String computeId(java.lang.String name, java.lang.String version)
          Compute id for extension name and version in argument.
static java.lang.String computeName(java.lang.String id)
           
static java.lang.String computeVersion(java.lang.String id)
           
 boolean equals(java.lang.Object obj)
           
 java.util.Collection<java.lang.String> getFieldNames()
           
 FieldType getFieldType(java.lang.String fieldName)
           
 java.lang.String getId()
           
 java.lang.String getName()
           
protected  java.beans.PropertyChangeSupport getPropertyChangeSupport()
           
 java.lang.String getRequires()
           
 java.util.Set<java.lang.String> getTagNames()
           
 java.lang.String getTagValue(java.lang.String tag)
           
 java.util.Map<java.lang.String,java.lang.String> getTagValues()
           
 java.lang.String getVersion()
           
 int hashCode()
           
 void removeField(java.lang.String fieldName)
           
 void removePropertyChangeListener(java.beans.PropertyChangeListener listener)
           
 void removePropertyChangeListener(java.lang.String propertyName, java.beans.PropertyChangeListener listener)
           
 void setName(java.lang.String name)
          Set extension name.
 void setTagValues(java.util.Map<java.lang.String,java.lang.String> tagValues)
           
 java.lang.String toDefinition()
           
 java.lang.String toString()
           
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 

Field Detail

fieldNamePattern

protected static java.util.regex.Pattern fieldNamePattern
Field name pattern only word character [a-zA-Z_0-9] is accepted


propertyChangeSupport

protected transient java.beans.PropertyChangeSupport propertyChangeSupport
Property change support. Warning, this transient field is null after deserialization.


name

protected java.lang.String name
Name of this extension.


requires

protected java.lang.String requires
Name of other extension needed to put this extension to object. Warning : Multiples extensions are not supported yet. FIXME EC-20100420 multiples extensions need to work


version

protected java.lang.String version
use to know version objet, when you change field number, type or other you must change version number.


tagValues

protected java.util.Map<java.lang.String,java.lang.String> tagValues
used to store tag/value used by client side ex: updatedDate=101212


fields

protected java.util.LinkedHashMap<java.lang.String,FieldType> fields
fields use ordered map, to keep order insertion of field key: field name value: field type

Constructor Detail

WikittyExtension

public WikittyExtension()
Default constructor. Used by hibernate.


WikittyExtension

public WikittyExtension(java.lang.String name)

WikittyExtension

public WikittyExtension(java.lang.String name,
                        java.lang.String version,
                        java.lang.String requires,
                        java.util.LinkedHashMap<java.lang.String,FieldType> fields)
Method Detail

getPropertyChangeSupport

protected java.beans.PropertyChangeSupport getPropertyChangeSupport()

addPropertyChangeListener

public void addPropertyChangeListener(java.beans.PropertyChangeListener listener)

removePropertyChangeListener

public void removePropertyChangeListener(java.beans.PropertyChangeListener listener)

addPropertyChangeListener

public void addPropertyChangeListener(java.lang.String propertyName,
                                      java.beans.PropertyChangeListener listener)

removePropertyChangeListener

public void removePropertyChangeListener(java.lang.String propertyName,
                                         java.beans.PropertyChangeListener listener)

cloneForUpgrade

public WikittyExtension cloneForUpgrade()

computeId

public static java.lang.String computeId(java.lang.String name,
                                         java.lang.String version)
Compute id for extension name and version in argument.

Parameters:
name - extension name
version - extension version
Returns:
extension string id

computeName

public static java.lang.String computeName(java.lang.String id)

computeVersion

public static java.lang.String computeVersion(java.lang.String id)

getId

public java.lang.String getId()

getName

public java.lang.String getName()

setName

public void setName(java.lang.String name)
Set extension name. Check for invalid extension name (non alphanumeric characters).

Parameters:
name - name

getVersion

public java.lang.String getVersion()

getRequires

public java.lang.String getRequires()

getFieldType

public FieldType getFieldType(java.lang.String fieldName)

getFieldNames

public java.util.Collection<java.lang.String> getFieldNames()

addField

public void addField(java.lang.String fieldName,
                     FieldType type)

removeField

public void removeField(java.lang.String fieldName)

hashCode

public int hashCode()
Overrides:
hashCode in class java.lang.Object

addTagValue

public void addTagValue(java.lang.String tag,
                        java.lang.String value)

getTagValue

public java.lang.String getTagValue(java.lang.String tag)

getTagNames

public java.util.Set<java.lang.String> getTagNames()

getTagValues

public java.util.Map<java.lang.String,java.lang.String> getTagValues()

setTagValues

public void setTagValues(java.util.Map<java.lang.String,java.lang.String> tagValues)

equals

public boolean equals(java.lang.Object obj)
Overrides:
equals in class java.lang.Object

toString

public java.lang.String toString()
Overrides:
toString in class java.lang.Object

toDefinition

public java.lang.String toDefinition()


Copyright © 2009-2010 CodeLutin. All Rights Reserved.