org.xwiki.model.reference
Class SpaceReference

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

public class SpaceReference
extends EntityReference

Represents a reference to a space (space name). Note that nested spaces are supported.

Since:
2.2M1
Version:
$Id: 6a20f019c16fa2788a38376ef676774fa496ab93 $
See Also:
Serialized Form

Constructor Summary
  SpaceReference(EntityReference reference)
          Special constructor that transforms a generic entity reference into a SpaceReference.
protected SpaceReference(EntityReference reference, EntityReference oldReference, EntityReference newReference)
          Clone an SpaceReference, but replace one of the parent in the chain by a new one.
  SpaceReference(String spaceName, EntityReference parent)
          Create a space reference based on a space name and a parent entity reference.
  SpaceReference(String spaceName, SpaceReference parent)
          Create a space reference based on a space name and a parent space reference.
  SpaceReference(String spaceName, WikiReference parent)
          Create a space reference based on a space name and a parent wiki reference.
 
Method Summary
 SpaceReference 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

SpaceReference

public SpaceReference(EntityReference reference)
Special constructor that transforms a generic entity reference into a SpaceReference. It checks the validity of the passed reference (ie correct type).

Parameters:
reference - the entity reference to transforms
Throws:
IllegalArgumentException - if the passed reference is not a valid space reference

SpaceReference

protected SpaceReference(EntityReference reference,
                         EntityReference oldReference,
                         EntityReference newReference)
Clone an SpaceReference, 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

SpaceReference

public SpaceReference(String spaceName,
                      WikiReference parent)
Create a space reference based on a space name and a parent wiki reference.

Parameters:
spaceName - the name of the space
parent - the wiki reference

SpaceReference

public SpaceReference(String spaceName,
                      SpaceReference parent)
Create a space reference based on a space name and a parent space reference.

Parameters:
spaceName - the name of the space
parent - the space reference

SpaceReference

public SpaceReference(String spaceName,
                      EntityReference parent)
Create a space reference based on a space name and a parent entity reference. The entity reference may be either a wiki or a space reference.

Parameters:
spaceName - the name of the space
parent - the entity reference
Method Detail

setParent

protected void setParent(EntityReference parent)
Entity reference are immutable since 3.3M2, so this method is now protected. Overridden in order to verify the validity of the passed parent.

Overrides:
setParent in class EntityReference
Parameters:
parent - the parent for this entity, may be null for a root entity.
Throws:
IllegalArgumentException - if the passed parent is not a valid space reference parent (ie either a space reference or a wiki reference)
See Also:
EntityReference.setParent(EntityReference)

setType

protected void setType(EntityType type)
Entity reference are immutable since 3.3M2, so this method is now protected. Overridden in order to verify the validity of the passed type.

Overrides:
setType in class EntityReference
Parameters:
type - the type for this entity
Throws:
IllegalArgumentException - if the passed type is not a space type
See Also:
EntityReference.setType(org.xwiki.model.EntityType)

replaceParent

public SpaceReference 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


Copyright © 2004-2012 XWiki. All Rights Reserved.