Package org.apache.james.mime4j.message
Class AbstractEntity
- java.lang.Object
-
- org.apache.james.mime4j.message.AbstractEntity
-
- All Implemented Interfaces:
Disposable
,Entity
- Direct Known Subclasses:
AbstractMessage
,BodyPart
public abstract class AbstractEntity extends Object implements Entity
Abstract MIME entity.
-
-
Constructor Summary
Constructors Modifier Constructor Description protected
AbstractEntity()
Creates a newEntity
.
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description protected abstract String
calcCharset(ContentTypeField contentType)
protected abstract String
calcMimeType(ContentTypeField child, ContentTypeField parent)
protected abstract String
calcTransferEncoding(ContentTransferEncodingField f)
void
dispose()
Disposes of the body of this entity.Body
getBody()
Gets the body of this entity.String
getCharset()
Determines the MIME character set encoding of thisEntity
.String
getContentTransferEncoding()
Determines the transfer encoding of thisEntity
.String
getDispositionType()
Return the disposition type of the content disposition of thisEntity
.String
getFilename()
Returns the filename parameter of the content disposition of thisEntity
.Header
getHeader()
Gets the entity header.String
getMimeType()
Determines the MIME type of thisEntity
.Entity
getParent()
Gets the parent entity of this entity.boolean
isMultipart()
Determines if the MIME type of thisEntity
ismultipart/*
.Body
removeBody()
Removes and returns the body of this entity.void
setBody(Body body)
Sets the body of this entity.void
setHeader(Header header)
Sets the entity header.void
setParent(Entity parent)
Sets the parent entity of this entity.
-
-
-
Method Detail
-
getParent
public Entity getParent()
Gets the parent entity of this entity. Returnsnull
if this is the root entity.
-
setParent
public void setParent(Entity parent)
Sets the parent entity of this entity.
-
getHeader
public Header getHeader()
Gets the entity header.
-
setHeader
public void setHeader(Header header)
Sets the entity header.
-
getBody
public Body getBody()
Gets the body of this entity.
-
setBody
public void setBody(Body body)
Sets the body of this entity.- Specified by:
setBody
in interfaceEntity
- Parameters:
body
- the body.- Throws:
IllegalStateException
- if the body has already been set.
-
removeBody
public Body removeBody()
Removes and returns the body of this entity. The removed body may be attached to another entity. If it is no longer needed it should bedisposed
of.- Specified by:
removeBody
in interfaceEntity
- Returns:
- the removed body or
null
if no body was set.
-
getMimeType
public String getMimeType()
Description copied from interface:Entity
Determines the MIME type of thisEntity
. The MIME type is derived by looking at the parent's Content-Type field if no Content-Type field is set for thisEntity
.- Specified by:
getMimeType
in interfaceEntity
- Returns:
- the MIME type.
-
getCharset
public String getCharset()
Determines the MIME character set encoding of thisEntity
.- Specified by:
getCharset
in interfaceEntity
- Returns:
- the MIME character set encoding.
-
getContentTransferEncoding
public String getContentTransferEncoding()
Determines the transfer encoding of thisEntity
.- Specified by:
getContentTransferEncoding
in interfaceEntity
- Returns:
- the transfer encoding.
-
getDispositionType
public String getDispositionType()
Return the disposition type of the content disposition of thisEntity
.- Specified by:
getDispositionType
in interfaceEntity
- Returns:
- the disposition type or
null
if no disposition type has been set.
-
getFilename
public String getFilename()
Returns the filename parameter of the content disposition of thisEntity
.- Specified by:
getFilename
in interfaceEntity
- Returns:
- the filename parameter of the content disposition or
null
if the filename has not been set.
-
isMultipart
public boolean isMultipart()
Determines if the MIME type of thisEntity
ismultipart/*
. Since multipart-entities must have a boundary parameter in theContent-Type
field this method returnsfalse
if no boundary exists.- Specified by:
isMultipart
in interfaceEntity
- Returns:
true
on match,false
otherwise.
-
dispose
public void dispose()
Disposes of the body of this entity. Note that the dispose call does not get forwarded to the parent entity of this Entity. Subclasses that need to free resources should override this method and invoke super.dispose().- Specified by:
dispose
in interfaceDisposable
- See Also:
Disposable.dispose()
-
calcMimeType
protected abstract String calcMimeType(ContentTypeField child, ContentTypeField parent)
-
calcTransferEncoding
protected abstract String calcTransferEncoding(ContentTransferEncodingField f)
-
calcCharset
protected abstract String calcCharset(ContentTypeField contentType)
-
-