CADI.Common.Network.JPIP
Class JPIPResponseFields

java.lang.Object
  extended by CADI.Common.Network.JPIP.JPIPResponseFields

public class JPIPResponseFields
extends java.lang.Object

This class contains the values of the JPIP response header.

Further information, see ISO/IEC 15444-9 section C.10

Version:
1.0 2007/10/26
Author:
Group on Interactive Coding of Images (GICI)

Field Summary
 int auxport
           
 java.lang.String cap
          JPIP-cap = "JPIP-cap" ":" LWSP 1#capability-code This response header specifies that the client shall support a particular feature in order to interpret the logical target in a conformant manner.
 java.lang.String cid
          JPIP-cnew = "JPIP-cnew" ":" LWSP "cid" "=" channel-id ["," 1#(transport-param "=" TOKEN)] transport-param = TOKEN The server shall send this response header if, and only if, it assigns a new channel in response to a New Channel request field.
 int[][] comps
          JPIP-comps = "JPIP-comps" ":" LWSP 1#UINT-RANGE The server should send this response header if the components for which it will serve data differ from those requested via the Components request field.
 java.lang.String context
           
 int[] fsiz
          JPIP-fsiz = "JPIP-fsiz" ":" LWSP fx "," fy The server should send this response header if the frame size for which response data will be served differs from that requested via the Frame Size request field.
 java.lang.String host
           
 int layers
          JPIP-layers = "JPIP-layers" ":" LWSP UINT The server should send this response header if the number of layers for which it will serve is smaller than the value specified by the layers request field.
 int len
          JPIP-len = "JPIP-len" ":" LWSP UINT The server should send this response header if the byte limit specified in a Maximum Response Length request field was too small to allow a non-empty response unless the byte limit was equal to zero.
 java.lang.String metareq
          JPIP-metareq = "JPIP-metareq" ":" LWSP 1#( "[" 1$(req-box-prop) "]" [root-bin] [max-depth] ) [metadata-only] req-box-prop = box-type [limit] [metareq-qualifier] [priority] The server should send this response header if it is modifying the max-depth, limit, metareq-qualifier or priority value provided in a Metadata Request request field.
 java.lang.String mset
          JPIP-mset = "JPIP-mset" ":" LWSP 1#sampled-range The server should include this response header if the client's request contains a Model Set request field, and the collection of codestreams identified by the client's Model Set request field differ in any way from the collection of codestreams for which the server is actually prepared to maintain cache model information.
 java.lang.String path
           
 int port
           
 java.lang.String pref
          JPIP-pref = "JPIP-pref" ":" LWSP 1#related-pref-set This response header should be provided if and only if a Client Preferences request field contained a related- pref-set with the "/r" modifier (required), which the server was unwilling to support.
 int qid
          JPIP-qid = "JPIP-qid" ":" LWSP UINT The server shall send this response header if the client's request included a Request ID qid.
 int quality
          JPIP-quality = "JPIP-quality" ":" LWSP (1*2DIGIT / "100" / "-1") The server may send this response header to inform the client of the quality value that will be associated with the image data returned once this request has been completed.
 int[] roff
          JPIP-roff = "JPIP-roff" ":" LWSP ox "," oy The server should send this response header if the offset of the region for which response data will be served differs from that requested.
 java.lang.String roi
           
 int[] rsiz
          JPIP-rsiz = "JPIP-rsiz" ":" LWSP sx "," sy The server should send this response header if the size of the region for which response data will be served differs from that requested.
 float srate
          JPIP-srate = "JPIP-srate" ":" LWSP UFLOAT The server should send this response header if the average sampling rate of the codestreams which it will send to the client is expected to differ from that requested via a Sampling Rate request field and the sampling rate is known.
 int[][] stream
           
 java.lang.String tid
          JPIP-tid = "JPIP-tid" ":" LWSP target-id The server shall send this response header if the server's unique target identifier differs in any way from the identifier supplied with a Target ID request field, or if the client did not specify a Target ID request field.
 int transport
           
static int TRANSPORT_HTTP
          Allowed values for the transport attribute.
static int TRANSPORT_HTTP_TCP
           
 int type
          JPIP-type = "JPIP-type" ":" LWSP image-return-type The server should include this response header unless another mechanism identifies the MIME subtype of the return image data.
 
Constructor Summary
JPIPResponseFields()
          Constructor.
 
Method Summary
 ViewWindowField getViewWindow()
          Returns the parameters related with the View Window as a ViewWindow class.
 void list(java.io.PrintStream out)
          Prints this JPIPResponseFields out to the specified output stream.
 void reset()
          Set attributes to its initial values.
 void setViewWindow(ViewWindowField viewWindow)
           
 java.lang.String toString()
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

tid

public java.lang.String tid
JPIP-tid = "JPIP-tid" ":" LWSP target-id

The server shall send this response header if the server's unique target identifier differs in any way from the identifier supplied with a Target ID request field, or if the client did not specify a Target ID request field. The target-id is an arbitrary, server-assigned string, not exceeding 255 characters in length. If the Target ID request field specifies a value of "0", the server is obliged to include a Target ID response header, indicating the actual target-id. If the server is unable to assign unique identifiers to the requested logical target, and hence cannot guarantee its integrity between multiple requests or sessions, then the Target ID response header shall specify a value of 0. If the server supplies a target-id which is different from that specified in the request, it shall disregard all model, tpmodel, need and tpneed request fields when responding to this request.


cid

public java.lang.String cid
JPIP-cnew = "JPIP-cnew" ":" LWSP "cid" "=" channel-id ["," 1#(transport-param "=" TOKEN)] transport-param = TOKEN The server shall send this response header if, and only if, it assigns a new channel in response to a New Channel request field. The value string consists of a comma-separated list of name=value pairs, the first of which identifies the new channel's channel-id token. The following transport-param tokens are defined by this Recommendation | International Standard (see next Table).

Value Meaning
"transport" This parameter shall be assigned one of the values in the list of acceptable transport names supplied in the New Channel request field. If multiple transport names were supplied in the request field, the response header shall identify the actual transport that will be used with the channel.
"host" This parameter identifies the name or IP address of the host for the JPIP server that is managing the new channel. The parameter need not be returned unless the host differs from that to which the request was actually sent.
"path" This parameter identifies the path component of the URL to be used in constructing future requests with this channel. The parameter need not be returned unless the path name differs from that used in the request which was actually sent.
"port" This parameter identifies the numerical port number (decimal) at which the JPIP server that is managing the new channel is listening for requests. The parameter need not be returned if the host and port number are identical to those to which the original request was sent. The parameter also need not be returned if the host differs from that to which the request was sent and the default port number associated with the relevant transport is to be used
"auxport" This parameter is used with transports requiring a second physical channel. If the "http-tcp" transport is used, the auxiliary port is used to connect the auxiliary TCP channel.The parameter need not be returned if the original request involved a channel that also employed an auxiliary channel, having the same auxiliary port number. Otherwise, the parameter need be returned only if the auxiliary port number differs from the default value associated with the selected transport.


transport

public int transport

host

public java.lang.String host

path

public java.lang.String path

port

public int port

auxport

public int auxport

TRANSPORT_HTTP

public static final int TRANSPORT_HTTP
Allowed values for the transport attribute.

See Also:
Constant Field Values

TRANSPORT_HTTP_TCP

public static final int TRANSPORT_HTTP_TCP
See Also:
Constant Field Values

qid

public int qid
JPIP-qid = "JPIP-qid" ":" LWSP UINT

The server shall send this response header if the client's request included a Request ID qid. The value of JPIP-qid shall be identical to qid. The server shall not include a Request ID response header when the respective client request did not include a Request ID. NOTE - The server's Request ID, JPIP-qid, shall always be identical to the client's Request ID. Thus the Request ID is distinctive in that this response header is sent when the client has used the Request ID, not when the server modifies the value.


fsiz

public int[] fsiz
JPIP-fsiz = "JPIP-fsiz" ":" LWSP fx "," fy The server should send this response header if the frame size for which response data will be served differs from that requested via the Frame Size request field.


rsiz

public int[] rsiz
JPIP-rsiz = "JPIP-rsiz" ":" LWSP sx "," sy The server should send this response header if the size of the region for which response data will be served differs from that requested.


roff

public int[] roff
JPIP-roff = "JPIP-roff" ":" LWSP ox "," oy The server should send this response header if the offset of the region for which response data will be served differs from that requested.


comps

public int[][] comps
JPIP-comps = "JPIP-comps" ":" LWSP 1#UINT-RANGE The server should send this response header if the components for which it will serve data differ from those requested via the Components request field. It is not obliged to send this response header if requested image components do not exist within any of the requested codestreams.


stream

public int[][] stream

context

public java.lang.String context

roi

public java.lang.String roi

layers

public int layers
JPIP-layers = "JPIP-layers" ":" LWSP UINT The server should send this response header if the number of layers for which it will serve is smaller than the value specified by the layers request field. Since the view-window is typically served in quality progressive fashion, the server is not obliged (and indeed may not be able) to determine the number of layers which are spanned by the response data it delivers. However, if the requested number of layers exceeds the number of layers available from any codestreams in the view-window, the server should at least identify the maximum number of available layers. Any server that accepts an Alignment request field (see C.7.1) shall provide a JPIP-layers response if the number of layers for which it will serve is smaller than the value specified by the layers request field.


srate

public float srate
JPIP-srate = "JPIP-srate" ":" LWSP UFLOAT The server should send this response header if the average sampling rate of the codestreams which it will send to the client is expected to differ from that requested via a Sampling Rate request field and the sampling rate is known. If the source codestreams have no timing information, this response header should not be sent.


metareq

public java.lang.String metareq
JPIP-metareq = "JPIP-metareq" ":" LWSP 1#( "[" 1$(req-box-prop) "]" [root-bin] [max-depth] ) [metadata-only] req-box-prop = box-type [limit] [metareq-qualifier] [priority] The server should send this response header if it is modifying the max-depth, limit, metareq-qualifier or priority value provided in a Metadata Request request field.


len

public int len
JPIP-len = "JPIP-len" ":" LWSP UINT The server should send this response header if the byte limit specified in a Maximum Response Length request field was too small to allow a non-empty response unless the byte limit was equal to zero. If returned, JPIP-len shall be a value that informs the client of a suitable maximum response length, len, for subsequent requests. If len=0, the server should respond to the request with response headers and no response data.


quality

public int quality
JPIP-quality = "JPIP-quality" ":" LWSP (1*2DIGIT / "100" / "-1") The server may send this response header to inform the client of the quality value that will be associated with the image data returned once this request has been completed. If the request is interrupted by another request (not having "wait=yes"), this quality value may not be accurate. The quality value refers only to the view-window requested, and has the same interpretation as the Quality request field. If the server ignored the client's request, a value "-1" shall be returned.


type

public int type
JPIP-type = "JPIP-type" ":" LWSP image-return-type The server should include this response header unless another mechanism identifies the MIME subtype of the return image data. Examples of other mechanisms include:
- an HTTP "Content-Type:" header,
- Responses to requests that are associated with a session whose return image type has already been signalled.


mset

public java.lang.String mset
JPIP-mset = "JPIP-mset" ":" LWSP 1#sampled-range The server should include this response header if the client's request contains a Model Set request field, and the collection of codestreams identified by the client's Model Set request field differ in any way from the collection of codestreams for which the server is actually prepared to maintain cache model information. The set of codestreams for which the server maintains cache model information should include all codestreams which are associated with the server's response data (either those identified in the client's request, or those identified by the server's Codestream response header, if any). Apart from those codestreams, the server's "mset" may be no larger than that identified by the client's Model Set request field.


cap

public java.lang.String cap
JPIP-cap = "JPIP-cap" ":" LWSP 1#capability-code This response header specifies that the client shall support a particular feature in order to interpret the logical target in a conformant manner. Legal capabilities are the same as those defined for the Capability request field in ClientCapPrefField


pref

public java.lang.String pref
JPIP-pref = "JPIP-pref" ":" LWSP 1#related-pref-set This response header should be provided if and only if a Client Preferences request field contained a related- pref-set with the "/r" modifier (required), which the server was unwilling to support. In this case, an error value should also be returned for the response status code. The value string consists of one or more of the related- pref-sets that could not be supported, repeated in exactly the same form as they appeared in the Client Preferences request. Although desirable, it is not necessary for this response header to list all of the required related-pref-sets that cannot be supported. Thus, it is permissible for a server to walk into the Client Preferences request field only until it encounters a related-pref-set which specifies "/r" and cannot be supported.

Constructor Detail

JPIPResponseFields

public JPIPResponseFields()
Constructor.

Method Detail

reset

public void reset()
Set attributes to its initial values.


getViewWindow

public ViewWindowField getViewWindow()
Returns the parameters related with the View Window as a ViewWindow class.

Returns:
the response view window.

setViewWindow

public void setViewWindow(ViewWindowField viewWindow)

toString

public java.lang.String toString()
Overrides:
toString in class java.lang.Object

list

public void list(java.io.PrintStream out)
Prints this JPIPResponseFields out to the specified output stream. This method is useful for debugging.

Parameters:
out - an output stream.


CADI - Copyright (C) 2007
This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

Group on Interactive Coding of Images (GICI) (contact)