|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectorg.nuiton.wikitty.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 | |
|---|---|
protected |
WikittyCopyOnWrite(Wikitty target)
only WikittyService with cache should create instances |
| 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)
|
|
Wikitty |
clone()
|
|
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)
|
|
|
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)
|
|
String |
getId()
|
|
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)
|
|
void |
setFqField(String fieldName,
Object value)
Server only used |
|
void |
setVersion(String version)
Server only used |
|
protected void |
substituteTargetWithCopy()
replace 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 |
|---|
protected WikittyCopyOnWrite(Wikitty target)
| Method Detail |
|---|
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 Objectpublic int hashCode()
hashCode in class Objectpublic String toString()
toString in class Object
public Wikitty clone()
throws CloneNotSupportedException
clone in interface Wikittyclone in class ObjectCloneNotSupportedExceptionpublic 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 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 Wikittypublic Set<String> fieldNames()
fieldNames in interface Wikittypublic Object getFqField(String fqFieldName)
getFqField in interface Wikittypublic String getVersion()
getVersion in interface Wikittypublic void setVersion(String version)
Wikitty
setVersion in interface Wikittypublic void clearDirty()
Wikitty
clearDirty in interface Wikitty
public void setFqField(String fieldName,
Object value)
Wikitty
setFqField in interface WikittyfieldName - fqn (ex: extensionName.fieldName)value - new valuepublic boolean isEmpty()
isEmpty in interface Wikitty
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||