Package org.xwiki.model.reference
Class AttachmentReference
- java.lang.Object
-
- org.xwiki.model.reference.EntityReference
-
- org.xwiki.model.reference.AttachmentReference
-
- All Implemented Interfaces:
Serializable
,Cloneable
,Comparable<EntityReference>
public class AttachmentReference extends EntityReference
Represents a reference to an Attachment (document reference and file name). Note that an attachment is always attached to a document.- Since:
- 2.2M1
- Version:
- $Id: 43f1caf0d2c155539fac54ad659bc0c4fdec23ed $
- See Also:
- Serialized Form
-
-
Field Summary
-
Fields inherited from class org.xwiki.model.reference.EntityReference
TOSTRING_SERIALIZER
-
-
Constructor Summary
Constructors Modifier Constructor Description AttachmentReference(String fileName, DocumentReference parent)
Create a new attachment reference based on the attachment name and the parent document reference.AttachmentReference(EntityReference reference)
Special constructor that transforms a generic entity reference into anAttachmentReference
.AttachmentReference(EntityReference reference, EntityReference parent)
Clone an AttachmentReference, but use the specified parent for its new parent.protected
AttachmentReference(EntityReference reference, EntityReference oldReference, EntityReference newReference)
Clone an AttachmentReference, but replace one of the parent in the chain by a new one.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description DocumentReference
getDocumentReference()
AttachmentReference
replaceParent(EntityReference newParent)
Return a clone of this reference, but with its parent replaced by the passed one.AttachmentReference
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, equals, equals, equalsNonRecursive, extractFirstReference, extractReference, getName, getParameter, getParameters, getParent, getReversedReferenceChain, getRoot, getType, hashCode, hasParent, removeParent, setName, setParameter, setParameters, size, toString
-
-
-
-
Constructor Detail
-
AttachmentReference
public AttachmentReference(EntityReference reference)
Special constructor that transforms a generic entity reference into anAttachmentReference
. It checks the validity of the passed reference (ie correct type and correct parent).- Parameters:
reference
- the reference to be transformed- Throws:
IllegalArgumentException
- if the passed reference is not a valid attachment reference
-
AttachmentReference
protected AttachmentReference(EntityReference reference, EntityReference oldReference, EntityReference newReference)
Clone an AttachmentReference, but replace one of the parent in the chain by a new one.- Parameters:
reference
- the reference that is clonedoldReference
- the old parent that will be replacednewReference
- the new parent that will replace oldReference in the chain- Since:
- 3.3M2
-
AttachmentReference
public AttachmentReference(EntityReference reference, EntityReference parent)
Clone an AttachmentReference, but use the specified parent for its new parent.- Parameters:
reference
- the reference to cloneparent
- the new parent to use- Since:
- 10.8RC1
-
AttachmentReference
public AttachmentReference(String fileName, DocumentReference parent)
Create a new attachment reference based on the attachment name and the parent document reference.- Parameters:
fileName
- the name of the attachmentparent
- the reference of the document
-
-
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 classEntityReference
- Parameters:
parent
- the parent for this entity, may be null for a root entity.- Throws:
IllegalArgumentException
- if the passed parent is not a valid attachment reference parent (ie an attachment reference)
-
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 classEntityReference
- Parameters:
type
- the type for this entity- Throws:
IllegalArgumentException
- if the passed type is not an attachment type
-
getDocumentReference
public DocumentReference getDocumentReference()
- Returns:
- the document reference contained in this attachment reference
-
replaceParent
public AttachmentReference 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 classEntityReference
- Parameters:
oldParent
- the old parent that will be replacednewParent
- 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
-
replaceParent
public AttachmentReference replaceParent(EntityReference newParent)
Description copied from class:EntityReference
Return a clone of this reference, but with its parent replaced by the passed one.- Overrides:
replaceParent
in classEntityReference
- Parameters:
newParent
- the new parent that will replace the parent- Returns:
- a new reference with a amended parent chain
-
-