org.nuiton.wikitty
Class Wikitty

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

public class Wikitty
extends Object
implements Serializable

Version:
$Revision: 193 $ Last update: $Date: 2010-07-21 11:44:11 +0200 (mer., 21 juil. 2010) $ by : $Author: echatellier $
Author:
poussin
See Also:
Serialized Form

Field Summary
protected  Date deleteDate
          If not null, date of deletion, if date this object is marked as deleted.
protected  Map<String,WikittyExtension> extensions
          Map is LinkedHashMap to maintains order like user want key: extension name value: extension definition
protected  Set<String> fieldDirty
          all field name currently modified (field name = extension . fieldname)
protected  HashMap<String,Object> fieldValue
          key: field name prefixed by extension name (dot separator) value: value of field
protected  String id
          Technical id for this wikitty object. id must be never null.
protected  String version
          Current version of this wikitty object.
 
Constructor Summary
Wikitty()
           
Wikitty(String id)
           
 
Method Summary
 void addExtension(List<WikittyExtension> exts)
           
 void addExtension(WikittyExtension ext)
           
 void addPropertyChangeListener(PropertyChangeListener listener)
           
 void addPropertyChangeListener(String propertyName, PropertyChangeListener listener)
           
 void addToField(String ext, String fieldName, Object value)
           
 void clearDirty()
          Server only used
 void clearField(String ext, String fieldName)
           
 boolean equals(Object obj)
           
 Set<String> fieldNames()
           
 Date getDeleteDate()
           
 WikittyExtension getExtension(String ext)
           
 Collection<WikittyExtension> getExtensionDependencies(String ext, boolean recursively)
           
 Collection<String> getExtensionNames()
           
 Collection<WikittyExtension> getExtensions()
           
 BigDecimal getFieldAsBigDecimal(String ext, String fieldName)
           
 boolean getFieldAsBoolean(String ext, String fieldName)
           
 Date getFieldAsDate(String ext, String fieldName)
           
 double getFieldAsDouble(String ext, String fieldName)
           
 float getFieldAsFloat(String ext, String fieldName)
           
 int getFieldAsInt(String ext, String fieldName)
           
<E> List<E>
getFieldAsList(String ext, String fieldName, Class<E> clazz)
          If object is a set, it is automatically transform to list.
 long getFieldAsLong(String ext, String fieldName)
           
 Object getFieldAsObject(String ext, String fieldName)
           
<E> Set<E>
getFieldAsSet(String ext, String fieldName, Class<E> clazz)
           
 String getFieldAsString(String ext, String fieldName)
           
 String getFieldAsWikitty(String ext, String fieldName)
          return wikitty id and not wikitty objet because this method can be call on server or client side and it's better to keep conversion between id and objet to the caller
 FieldType getFieldType(String fqfieldName)
          return field type for the given fieldName.
 Object getFqField(String fqFieldName)
           
 String getId()
           
protected  PropertyChangeSupport getPropertyChangeSupport()
          Always call this method because field is transient.
 String getVersion()
           
 boolean hasExtension(String extName)
           
 boolean hasField(String extName, String fieldName)
           
 int hashCode()
           
 boolean isDeleted()
           
 boolean isEmpty()
           
 void removeFromField(String ext, String fieldName, Object value)
           
 void removePropertyChangeListener(PropertyChangeListener listener)
           
 void removePropertyChangeListener(String propertyName, PropertyChangeListener listener)
           
 void setDeleteDate(Date delete)
          Server only used
 void setField(String ext, String fieldName, Object value)
           
protected  void setFieldDirty(String ext, String fieldName, Object oldValue, Object newValue)
          mark field as dirty
 void setFqField(String fieldName, Object value)
          Server only used
 void setVersion(String version)
          Server only used
 String toString()
           
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 

Field Detail

id

protected String id
Technical id for this wikitty object. id must be never null.


version

protected String version
Current version of this wikitty object.


deleteDate

protected Date deleteDate
If not null, date of deletion, if date this object is marked as deleted.


fieldValue

protected HashMap<String,Object> fieldValue
key: field name prefixed by extension name (dot separator) value: value of field


fieldDirty

protected Set<String> fieldDirty
all field name currently modified (field name = extension . fieldname)


extensions

protected Map<String,WikittyExtension> extensions
Map is LinkedHashMap to maintains order like user want key: extension name value: extension definition

Constructor Detail

Wikitty

public Wikitty()

Wikitty

public Wikitty(String id)
Method Detail

getPropertyChangeSupport

protected PropertyChangeSupport getPropertyChangeSupport()
Always call this method because field is transient.

Returns:

addPropertyChangeListener

public void addPropertyChangeListener(PropertyChangeListener listener)

removePropertyChangeListener

public void removePropertyChangeListener(PropertyChangeListener listener)

addPropertyChangeListener

public void addPropertyChangeListener(String propertyName,
                                      PropertyChangeListener listener)

removePropertyChangeListener

public void removePropertyChangeListener(String propertyName,
                                         PropertyChangeListener listener)

getId

public String getId()

isDeleted

public boolean isDeleted()

getDeleteDate

public Date getDeleteDate()

setDeleteDate

public void setDeleteDate(Date delete)
Server only used

Parameters:
delete -

setFieldDirty

protected void setFieldDirty(String ext,
                             String fieldName,
                             Object oldValue,
                             Object newValue)
mark field as dirty

Parameters:
ext -
fieldName -

addExtension

public void addExtension(WikittyExtension ext)

addExtension

public void addExtension(List<WikittyExtension> exts)

hasExtension

public boolean hasExtension(String extName)

hasField

public boolean hasField(String extName,
                        String fieldName)

getExtension

public WikittyExtension getExtension(String ext)

getExtensionNames

public Collection<String> getExtensionNames()

getExtensions

public Collection<WikittyExtension> getExtensions()

getExtensionDependencies

public Collection<WikittyExtension> getExtensionDependencies(String ext,
                                                             boolean recursively)

getFieldType

public FieldType getFieldType(String fqfieldName)
return field type for the given fieldName.

Parameters:
fqfieldName - fully qualified fieldName extension.fieldname
Returns:
field type

setField

public void setField(String ext,
                     String fieldName,
                     Object value)

getFieldAsObject

public Object getFieldAsObject(String ext,
                               String fieldName)

getFieldAsBoolean

public boolean getFieldAsBoolean(String ext,
                                 String fieldName)

getFieldAsBigDecimal

public BigDecimal getFieldAsBigDecimal(String ext,
                                       String fieldName)

getFieldAsInt

public int getFieldAsInt(String ext,
                         String fieldName)

getFieldAsLong

public long getFieldAsLong(String ext,
                           String fieldName)

getFieldAsFloat

public float getFieldAsFloat(String ext,
                             String fieldName)

getFieldAsDouble

public double getFieldAsDouble(String ext,
                               String fieldName)

getFieldAsString

public String getFieldAsString(String ext,
                               String fieldName)

getFieldAsDate

public Date getFieldAsDate(String ext,
                           String fieldName)

getFieldAsWikitty

public String getFieldAsWikitty(String ext,
                                String fieldName)
return wikitty id and not wikitty objet because this method can be call on server or client side and it's better to keep conversion between id and objet to the caller

Parameters:
ext - extension name where this field must to be
fieldName - the field name
Returns:
id of wikitty object or null
Throws:
WikittyException

getFieldAsList

public <E> List<E> getFieldAsList(String ext,
                                  String fieldName,
                                  Class<E> clazz)
If object is a set, it is automatically transform to list.

Type Parameters:
E -
Parameters:
clazz -
Returns:
unmodifiable list

getFieldAsSet

public <E> Set<E> getFieldAsSet(String ext,
                                String fieldName,
                                Class<E> clazz)
Type Parameters:
E -
Parameters:
clazz -
Returns:
unmodifiable list

addToField

public void addToField(String ext,
                       String fieldName,
                       Object value)

removeFromField

public void removeFromField(String ext,
                            String fieldName,
                            Object value)

clearField

public void clearField(String ext,
                       String fieldName)

equals

public boolean equals(Object obj)
Overrides:
equals in class Object

hashCode

public int hashCode()
Overrides:
hashCode in class Object

fieldNames

public Set<String> fieldNames()

getFqField

public Object getFqField(String fqFieldName)

getVersion

public String getVersion()

setVersion

public void setVersion(String version)
Server only used

Parameters:
version -

clearDirty

public void clearDirty()
Server only used

Parameters:
version -

setFqField

public void setFqField(String fieldName,
                       Object value)
Server only used

Parameters:
fieldName - fqn (ex: extensionName.fieldName)
value - new value

isEmpty

public boolean isEmpty()

toString

public String toString()
Overrides:
toString in class Object


Copyright © 2009-2010 CodeLutin. All Rights Reserved.