|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectorg.nuiton.wikitty.entities.WikittyCopyOnWrite
public class WikittyCopyOnWrite
this class wrap a wikitty in a proxy that copy the wikitty before applying any change
It is used for caching purpose. This class own a reference to an actual
wikitty, multiple instance of this class can own some references to a same
actual wikitty. To prevent the target to be modified, a copy is created
to prevent side-effect.
So, when a wikitty restored from cache is modified, a copy is modified, so
if change are cancelled, next restore will restore the original and not
the modified version (until the modified version is stored).
used in WikittyServiceCached
| Field Summary | |
|---|---|
protected Wikitty |
target
|
protected boolean |
targetIsACopy
|
| Constructor Summary | |
|---|---|
WikittyCopyOnWrite(Wikitty target)
only WikittyService with cache should create instances |
|
| Method Summary | ||
|---|---|---|
void |
addExtension(List<WikittyExtension> exts)
|
|
void |
addExtension(WikittyExtension ext)
|
|
void |
addMetaExtension(WikittyExtension metaExtension,
String extensionFqn)
add a meta-extension on the given extension to this wikitty. |
|
void |
addMetaExtension(WikittyExtension metaExtension,
WikittyExtension extension)
add a meta-extension about the given extension to this wikitty. |
|
void |
addPropertyChangeListener(PropertyChangeListener listener)
|
|
void |
addPropertyChangeListener(String propertyName,
PropertyChangeListener listener)
|
|
void |
addToField(String fqFieldName,
Object value)
Add an element in a field |
|
void |
addToField(String ext,
String fieldName,
Object value)
|
|
void |
clearDirty()
clear the lists of modified field since last restore. |
|
void |
clearField(String fqFieldName)
Clear a field |
|
void |
clearField(String ext,
String fieldName)
|
|
Wikitty |
clone()
|
|
boolean |
equals(Object obj)
ATTENTION, la condition d'egalite n'est pas faire sur le type d'objet, mais seulement sur le contenu des donnees. |
|
Set<String> |
fieldNames()
|
|
Date |
getDeleteDate()
|
|
Set<String> |
getDirty()
get the field modified after wikitty was restored |
|
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)
|
|
byte[] |
getFieldAsBytes(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)
|
|
|
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)
|
|
|
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)
get the value of and field given its fqn |
|
String |
getId()
|
|
Wikitty |
getTarget()
|
|
String |
getVersion()
|
|
boolean |
hasExtension(String extName)
|
|
boolean |
hasField(String extName,
String fieldName)
|
|
int |
hashCode()
|
|
boolean |
hasMetaExtension(String metaExtensionName,
String extensionName)
check that the wikitty has a metaExtension about a given extension. |
|
boolean |
isDeleted()
|
|
boolean |
isEmpty()
|
|
void |
removeFromField(String fqFieldName,
Object value)
Remove an element from a field |
|
void |
removeFromField(String ext,
String fieldName,
Object value)
|
|
void |
removePropertyChangeListener(PropertyChangeListener listener)
|
|
void |
removePropertyChangeListener(String propertyName,
PropertyChangeListener listener)
|
|
void |
replaceWith(Wikitty w)
Replace all field of current wikitty with field found in w. |
|
void |
replaceWith(Wikitty w,
boolean force)
Replace all field of current wikitty with field found in w. |
|
void |
setDeleteDate(Date delete)
Server only used |
|
void |
setField(String ext,
String fieldName,
Object value)
|
|
void |
setFqField(String fieldName,
Object value)
set the value of a field given is fqn. |
|
void |
setVersion(String version)
Server only used |
|
protected void |
substituteTargetWithCopy()
replaceWith target with a clone
this method must be called to prevent any modification on target |
|
String |
toString()
|
|
| Methods inherited from class java.lang.Object |
|---|
finalize, getClass, notify, notifyAll, wait, wait, wait |
| Field Detail |
|---|
protected Wikitty target
protected boolean targetIsACopy
| Constructor Detail |
|---|
public WikittyCopyOnWrite(Wikitty target)
| Method Detail |
|---|
public void replaceWith(Wikitty w)
Wikitty
replaceWith in interface Wikittyw - wikitty where we take information
public void replaceWith(Wikitty w,
boolean force)
Wikitty
replaceWith in interface Wikittyw - wikitty where we take informationpublic Wikitty getTarget()
protected void substituteTargetWithCopy()
target with a clone
this method must be called to prevent any modification on target
public boolean equals(Object obj)
equals in class Objectobj -
public int hashCode()
hashCode in class Objectpublic String toString()
toString in class Object
public Wikitty clone()
throws CloneNotSupportedException
clone in interface Wikittyclone in class ObjectCloneNotSupportedExceptionObject.clone()public void addPropertyChangeListener(PropertyChangeListener listener)
addPropertyChangeListener in interface Wikittypublic void removePropertyChangeListener(PropertyChangeListener listener)
removePropertyChangeListener in interface Wikitty
public void addPropertyChangeListener(String propertyName,
PropertyChangeListener listener)
addPropertyChangeListener in interface Wikitty
public void removePropertyChangeListener(String propertyName,
PropertyChangeListener listener)
removePropertyChangeListener in interface Wikittypublic String getId()
getId in interface Wikittypublic boolean isDeleted()
isDeleted in interface Wikittypublic Date getDeleteDate()
getDeleteDate in interface Wikittypublic void setDeleteDate(Date delete)
Wikitty
setDeleteDate in interface Wikittypublic void addExtension(WikittyExtension ext)
addExtension in interface Wikittypublic void addExtension(List<WikittyExtension> exts)
addExtension in interface Wikittypublic boolean hasExtension(String extName)
hasExtension in interface Wikitty
public boolean hasField(String extName,
String fieldName)
hasField in interface Wikittypublic WikittyExtension getExtension(String ext)
getExtension in interface Wikittypublic Collection<String> getExtensionNames()
getExtensionNames in interface Wikittypublic Collection<WikittyExtension> getExtensions()
getExtensions in interface Wikitty
public Collection<WikittyExtension> getExtensionDependencies(String ext,
boolean recursively)
getExtensionDependencies in interface Wikittypublic FieldType getFieldType(String fqfieldName)
Wikitty
getFieldType in interface WikittyfqfieldName - fully qualified fieldName extension.fieldname
public void setField(String ext,
String fieldName,
Object value)
setField in interface Wikitty
public Object getFieldAsObject(String ext,
String fieldName)
getFieldAsObject in interface Wikitty
public byte[] getFieldAsBytes(String ext,
String fieldName)
getFieldAsBytes in interface Wikitty
public boolean getFieldAsBoolean(String ext,
String fieldName)
getFieldAsBoolean in interface Wikitty
public BigDecimal getFieldAsBigDecimal(String ext,
String fieldName)
getFieldAsBigDecimal in interface Wikitty
public int getFieldAsInt(String ext,
String fieldName)
getFieldAsInt in interface Wikitty
public long getFieldAsLong(String ext,
String fieldName)
getFieldAsLong in interface Wikitty
public float getFieldAsFloat(String ext,
String fieldName)
getFieldAsFloat in interface Wikitty
public double getFieldAsDouble(String ext,
String fieldName)
getFieldAsDouble in interface Wikitty
public String getFieldAsString(String ext,
String fieldName)
getFieldAsString in interface Wikitty
public Date getFieldAsDate(String ext,
String fieldName)
getFieldAsDate in interface Wikitty
public String getFieldAsWikitty(String ext,
String fieldName)
Wikitty
getFieldAsWikitty in interface Wikittyext - extension name where this field must to befieldName - the field name
public <E> List<E> getFieldAsList(String ext,
String fieldName,
Class<E> clazz)
Wikitty
getFieldAsList in interface Wikitty
public <E> Set<E> getFieldAsSet(String ext,
String fieldName,
Class<E> clazz)
getFieldAsSet in interface Wikitty
public void addToField(String ext,
String fieldName,
Object value)
addToField in interface Wikitty
public void removeFromField(String ext,
String fieldName,
Object value)
removeFromField in interface Wikitty
public void clearField(String ext,
String fieldName)
clearField in interface Wikitty
public void addToField(String fqFieldName,
Object value)
Wikitty
addToField in interface WikittyfqFieldName - the fully qualified name of a collection fieldvalue - the value to be added to the collectionorg.nuiton.wikitty.Wikitty#addToField(String, Object)
public void removeFromField(String fqFieldName,
Object value)
Wikitty
removeFromField in interface WikittyfqFieldName - the fully qualified name of a collection fieldvalue - the value to be removed to the collectionorg.nuiton.wikitty.Wikitty#removeFromField(String, Object)public void clearField(String fqFieldName)
Wikitty
clearField in interface WikittyfqFieldName - the fully qualified name of a collection fieldorg.nuiton.wikitty.Wikitty#clearField(String)public Set<String> fieldNames()
fieldNames in interface Wikittypublic Object getFqField(String fqFieldName)
Wikitty
getFqField in interface Wikittypublic String getVersion()
getVersion in interface Wikittypublic void setVersion(String version)
Wikitty
setVersion in interface Wikittypublic Set<String> getDirty()
Wikitty
getDirty in interface Wikittyorg.nuiton.wikitty.Wikitty#getDirty()public void clearDirty()
Wikitty
clearDirty in interface Wikittyorg.nuiton.wikitty.Wikitty#clearDirty()
public void setFqField(String fieldName,
Object value)
Wikitty
setFqField in interface WikittyfieldName - fqn (ex: extensionName.fieldName)value - new valueorg.nuiton.wikitty.Wikitty#setFqField(String, Object)public boolean isEmpty()
isEmpty in interface Wikitty
public boolean hasMetaExtension(String metaExtensionName,
String extensionName)
Wikitty
hasMetaExtension in interface WikittymetaExtensionName - the metaExtension to be checkedextensionName - an extension already added to the wikittyorg.nuiton.wikitty.Wikitty#hasMetaExtension(String, String)
public void addMetaExtension(WikittyExtension metaExtension,
WikittyExtension extension)
Wikitty
addMetaExtension in interface WikittymetaExtension - the metaExtension to addextension - an extension already added to the wikittyorg.nuiton.wikitty.Wikitty#addMetaExtension(WikittyExtension, WikittyExtension)
public void addMetaExtension(WikittyExtension metaExtension,
String extensionFqn)
Wikitty
addMetaExtension in interface WikittymetaExtension - the metaExtension to addextensionFqn - the name of the extension already added to the wikittyorg.nuiton.wikitty.Wikitty#addMetaExtension(WikittyExtension, String)
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||