org.xwiki.model.reference
Class ObjectPropertyReference

java.lang.Object
  extended by org.xwiki.model.reference.EntityReference
      extended by org.xwiki.model.reference.ObjectPropertyReference
All Implemented Interfaces:
Serializable, Cloneable, Comparable<EntityReference>

public class ObjectPropertyReference
extends EntityReference

References a property in an object in a document (the value of the property).

Since:
2.3M1
See Also:
Serialized Form

Field Summary
 
Fields inherited from class org.xwiki.model.reference.EntityReference
TOSTRING_SERIALIZER
 
Constructor Summary
  ObjectPropertyReference(EntityReference reference)
          Constructor which would raise exceptions if the source entity reference does not have the appropriate type or parent, etc.
protected ObjectPropertyReference(EntityReference reference, EntityReference oldReference, EntityReference newReference)
          Clone an ObjectPropertyReference, but replace one of the parent in the chain by a new one.
  ObjectPropertyReference(String propertyName, ObjectReference objectReference)
          Builds a property reference for the passed property in the passed object.
  ObjectPropertyReference(String wiki, String space, String page, String objectName, String propertyName)
          Deprecated. 
 
Method Summary
 ObjectPropertyReference replaceParent(EntityReference oldParent, EntityReference newParent)
          Return a clone of this reference, but with one of its parent replaced by another one.
protected  void setParent(EntityReference parent)
          Entity reference are immutable since 3.3M2, so this method is now protected.
protected  void setType(EntityType type)
          Entity reference are immutable since 3.3M2, so this method is now protected.
 
Methods inherited from class org.xwiki.model.reference.EntityReference
appendParent, compareTo, equals, extractReference, getName, getParameter, getParent, getReversedReferenceChain, getRoot, getType, hashCode, removeParent, setName, setParameter, setParameters, toString
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 

Constructor Detail

ObjectPropertyReference

public ObjectPropertyReference(EntityReference reference)
Constructor which would raise exceptions if the source entity reference does not have the appropriate type or parent, etc.

Parameters:
reference - the raw reference to build this object reference from

ObjectPropertyReference

protected ObjectPropertyReference(EntityReference reference,
                                  EntityReference oldReference,
                                  EntityReference newReference)
Clone an ObjectPropertyReference, but replace one of the parent in the chain by a new one.

Parameters:
reference - the reference that is cloned
oldReference - the old parent that will be replaced
newReference - the new parent that will replace oldReference in the chain
Since:
3.3M2

ObjectPropertyReference

public ObjectPropertyReference(String propertyName,
                               ObjectReference objectReference)
Builds a property reference for the passed property in the passed object.

Parameters:
propertyName - the name of the property to create reference for
objectReference - the reference to the object whose property is

ObjectPropertyReference

@Deprecated
public ObjectPropertyReference(String wiki,
                                          String space,
                                          String page,
                                          String objectName,
                                          String propertyName)
Deprecated. 

Deprecated constructor.

Parameters:
wiki - the wiki of the document where the parent object of this property is
space - the space of the document where the parent object of this property is
page - the document where the parent object of this property is
objectName - the name of the parent object of this property
propertyName - the name of the property to refer to
Method Detail

setType

protected void setType(EntityType type)
Entity reference are immutable since 3.3M2, so this method is now protected.
Overridden to check the type to be a property type.

Overrides:
setType in class EntityReference
Parameters:
type - the type for this entity
See Also:
EntityReference.setType(org.xwiki.model.EntityType)

setParent

protected void setParent(EntityReference parent)
Entity reference are immutable since 3.3M2, so this method is now protected.
Overridden to ensure that the parent of a property is always an object.

Overrides:
setParent in class EntityReference
Parameters:
parent - the parent for this entity, may be null for a root entity.
See Also:
EntityReference.setParent(org.xwiki.model.reference.EntityReference)

replaceParent

public ObjectPropertyReference replaceParent(EntityReference oldParent,
                                             EntityReference newParent)
Description copied from class: EntityReference
Return a clone of this reference, but with one of its parent replaced by another one.

Overrides:
replaceParent in class EntityReference
Parameters:
oldParent - the old parent that will be replaced
newParent - the new parent that will replace oldParent in the chain. If the same as oldParent, this is returned.
Returns:
a new reference with a amended parent chain