org.simpleframework.http.message.Entity Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of simple-http Show documentation
Show all versions of simple-http Show documentation
Simple is a high performance asynchronous HTTP framework for Java
The newest version!
/*
* Entity.java February 2007
*
* Copyright (C) 2001, Niall Gallagher
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
* implied. See the License for the specific language governing
* permissions and limitations under the License.
*/
package org.simpleframework.http.message;
import org.simpleframework.transport.Channel;
/**
* The Entity
object is used to represent the HTTP entity
* received from the client. The entity contains a header and body as
* well as the underlying Channel
for the connection. If
* there is no body with the entity this will provide an empty body
* object which provides a zero length sequence of bytes.
*
* @author Niall Gallagher
*/
public interface Entity {
/**
* This is the time in milliseconds when the request was first
* read from the underlying channel. The time represented here
* represents the time collection of this request began. This
* does not necessarily represent the time the bytes arrived on
* the receive buffers as some data may have been buffered.
*
* @return this represents the time the request was ready at
*/
long getTime();
/**
* This is used to acquire the body for this HTTP entity. This
* will return a body which can be used to read the content of
* the message, also if the request is multipart upload then all
* of the parts are provided as Part
objects. Each
* part can then be read as an individual message.
*
* @return the body provided by the HTTP request message
*/
Body getBody();
/**
* This provides the HTTP request header for the entity. This is
* always populated and provides the details sent by the client
* such as the target URI and the query if specified. Also this
* can be used to determine the method and protocol version used.
*
* @return the header provided by the HTTP request message
*/
Header getHeader();
/**
* This provides the connected channel for the client. This is
* used to send and receive bytes to and from an transport layer.
* Each channel provided with an entity contains an attribute
* map which contains information about the connection.
*
* @return the connected channel for this HTTP entity
*/
Channel getChannel();
}