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
Abstract MIME entity.
-
Field Summary
Fields -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected abstract String
calcCharset
(ContentTypeField contentType) protected abstract String
calcMimeType
(ContentTypeField child, ContentTypeField parent) protected abstract String
void
dispose()
Disposes of the body of this entity.getBody()
Gets the body of this entity.Determines the MIME character set encoding of thisEntity
.Determines the transfer encoding of thisEntity
.private ContentTypeField
Return the disposition type of the content disposition of thisEntity
.Returns the filename parameter of the content disposition of thisEntity
.Gets the entity header.Determines the MIME type of thisEntity
.Gets the parent entity of this entity.boolean
Determines if the MIME type of thisEntity
ismultipart/*
.(package private) <F extends ParsedField>
FobtainField
(String fieldName) Obtains the header field with the specified name.(package private) Header
Obtains the header of this entity.Removes and returns the body of this entity.void
Sets the body of this entity.void
Sets the entity header.void
Sets the parent entity of this entity.
-
Field Details
-
header
-
body
-
parent
-
-
Constructor Details
-
AbstractEntity
protected AbstractEntity()Creates a newEntity
. Typically invoked implicitly by a subclass constructor.
-
-
Method Details
-
getParent
Gets the parent entity of this entity. Returnsnull
if this is the root entity. -
setParent
Sets the parent entity of this entity. -
getHeader
Gets the entity header. -
setHeader
Sets the entity header. -
getBody
Gets the body of this entity. -
setBody
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
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
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.
-
getContentTypeField
-
getCharset
Determines the MIME character set encoding of thisEntity
.- Specified by:
getCharset
in interfaceEntity
- Returns:
- the MIME character set encoding.
-
getContentTransferEncoding
Determines the transfer encoding of thisEntity
.- Specified by:
getContentTransferEncoding
in interfaceEntity
- Returns:
- the transfer encoding.
-
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
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:
-
obtainHeader
Header obtainHeader()Obtains the header of this entity. Creates and sets a new header if this entity's header is currentlynull
.- Returns:
- the header of this entity; never
null
.
-
obtainField
Obtains the header field with the specified name.- Type Parameters:
F
- concrete field type.- Parameters:
fieldName
- name of the field to retrieve.- Returns:
- the header field or
null
if this entity has no header or the header contains no such field.
-
calcMimeType
-
calcTransferEncoding
-
calcCharset
-