org.apache.sling.api.servlets
Class HtmlResponse

java.lang.Object
  extended by org.apache.sling.api.servlets.HtmlResponse

public class HtmlResponse
extends Object

Generator for a HTML status response that displays the changes made in a post request. see HtmlResponse.html for the format.


Field Summary
static String PN_CHANGE_LOG
          human readable changelog
static String PN_ERROR
          The Throwable caught while processing the request.
static String PN_IS_CREATED
          Indicating whether request processing created new data.
static String PN_LOCATION
          externally mapped location url of the modified path
static String PN_PARENT_LOCATION
          externally mapped location url of the parent of the modified path
static String PN_PATH
          the path of the modified item. this is usually the addressed resource or in case of a creation request (eg: /foo/*) the path of the newly created node.
static String PN_REFERER
          the referrer of the request
static String PN_STATUS_CODE
          status code. more or less http response status codes
static String PN_STATUS_MESSAGE
          some human readable status message
static String PN_TITLE
          some human readable title like: 200 Created /foo/bar
 
Constructor Summary
HtmlResponse()
          Creates a new html response with default settings, which is null for almost all properties except the isCreateRequest() which defaults to false.
 
Method Summary
 Throwable getError()
          Returns any recorded error or null
 String getLocation()
          Returns the location of the modification. this is the externalized form of the current path.
 String getParentLocation()
          Returns the parent location of the modification. this is the externalized form of the parent node of the current path.
 String getPath()
          Returns the absolute path of the item upon which the request operated.
 Object getProperty(String name)
          Returns the generic response property with the given name and type or null if no such property exists.
<Type> Type
getProperty(String name, Class<Type> type)
          Returns the generic response property with the given name and type or null if no such property exists or the property is not of the requested type.
 String getReferer()
          Returns the referer as from the 'referer' request header.
 int getStatusCode()
          Returns the status code of this instance.
 String getStatusMessage()
           
 boolean isCreateRequest()
          Returns true if this was a create request.
 boolean isSuccessful()
          Returns true if no error is set and if the status code is one of the 2xx codes.
 void onChange(String type, String... arguments)
          Records a generic change of the given type.
 void onCopied(String srcPath, String dstPath)
          Records a 'copied' change.
 void onCreated(String path)
          Records a 'created' change
 void onDeleted(String path)
          Records a 'deleted' change
 void onModified(String path)
          Records a 'modified' change
 void onMoved(String srcPath, String dstPath)
          Records a 'moved' change.
 void send(javax.servlet.http.HttpServletResponse response, boolean setStatus)
          Writes the response to the given writer and replaces all ${var} patterns by the value of the respective property. if the property is not defined the pattern is not modified.
 void setCreateRequest(boolean isCreateRequest)
          Sets whether the request was a create request or not.
 void setError(Throwable error)
           
 void setLocation(String location)
           
 void setParentLocation(String parentLocation)
           
 void setPath(String path)
          Sets the absolute path of the item upon which the request operated.
 void setProperty(String name, Object value)
          Sets a generic response property with the given
 void setReferer(String referer)
          Sets the referer property
 void setStatus(int code, String message)
          sets the response status code properties
 void setTitle(String title)
          Sets the title of the response message
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

PN_TITLE

public static final String PN_TITLE
some human readable title like: 200 Created /foo/bar

See Also:
Constant Field Values

PN_STATUS_CODE

public static final String PN_STATUS_CODE
status code. more or less http response status codes

See Also:
Constant Field Values

PN_STATUS_MESSAGE

public static final String PN_STATUS_MESSAGE
some human readable status message

See Also:
Constant Field Values

PN_LOCATION

public static final String PN_LOCATION
externally mapped location url of the modified path

See Also:
Constant Field Values

PN_PARENT_LOCATION

public static final String PN_PARENT_LOCATION
externally mapped location url of the parent of the modified path

See Also:
Constant Field Values

PN_PATH

public static final String PN_PATH
the path of the modified item. this is usually the addressed resource or in case of a creation request (eg: /foo/*) the path of the newly created node.

See Also:
Constant Field Values

PN_REFERER

public static final String PN_REFERER
the referrer of the request

See Also:
Constant Field Values

PN_IS_CREATED

public static final String PN_IS_CREATED
Indicating whether request processing created new data. This property is initialized to false and may be changed by calling the setCreateRequest(boolean) method.

See Also:
Constant Field Values

PN_CHANGE_LOG

public static final String PN_CHANGE_LOG
human readable changelog

See Also:
Constant Field Values

PN_ERROR

public static final String PN_ERROR
The Throwable caught while processing the request. This property is not set unless the setError(Throwable) method is called.

See Also:
Constant Field Values
Constructor Detail

HtmlResponse

public HtmlResponse()
Creates a new html response with default settings, which is null for almost all properties except the isCreateRequest() which defaults to false.

Method Detail

getReferer

public String getReferer()
Returns the referer as from the 'referer' request header.


setReferer

public void setReferer(String referer)
Sets the referer property


getPath

public String getPath()
Returns the absolute path of the item upon which the request operated.

If the setPath(String) method has not been called yet, this method returns null.


setPath

public void setPath(String path)
Sets the absolute path of the item upon which the request operated.


isCreateRequest

public boolean isCreateRequest()
Returns true if this was a create request.

Before calling the setCreateRequest(boolean) method, this method always returns false.


setCreateRequest

public void setCreateRequest(boolean isCreateRequest)
Sets whether the request was a create request or not.


getLocation

public String getLocation()
Returns the location of the modification. this is the externalized form of the current path.

Returns:
the location of the modification.

setLocation

public void setLocation(String location)

getParentLocation

public String getParentLocation()
Returns the parent location of the modification. this is the externalized form of the parent node of the current path.

Returns:
the location of the modification.

setParentLocation

public void setParentLocation(String parentLocation)

setTitle

public void setTitle(String title)
Sets the title of the response message

Parameters:
title - the title

setStatus

public void setStatus(int code,
                      String message)
sets the response status code properties

Parameters:
code - the code
message - the message

getStatusCode

public int getStatusCode()
Returns the status code of this instance. If the status code has never been set by calling the setStatus(int, String) method, the status code is determined by checking if there was an error. If there was an error, the response is assumed to be unsuccessful and 500 is returned. If there is no error, the response is assumed to be successful and 200 is returned.


getStatusMessage

public String getStatusMessage()

getError

public Throwable getError()
Returns any recorded error or null

Returns:
an error or null

setError

public void setError(Throwable error)

isSuccessful

public boolean isSuccessful()
Returns true if no error is set and if the status code is one of the 2xx codes.


onModified

public void onModified(String path)
Records a 'modified' change

Parameters:
path - path of the item that was modified

onCreated

public void onCreated(String path)
Records a 'created' change

Parameters:
path - path of the item that was created

onDeleted

public void onDeleted(String path)
Records a 'deleted' change

Parameters:
path - path of the item that was deleted

onMoved

public void onMoved(String srcPath,
                    String dstPath)
Records a 'moved' change.

Note: the moved change only records the basic move command. the implied changes on the moved properties and sub nodes are not recorded.

Parameters:
srcPath - source path of the node that was moved
dstPath - destination path of the node that was moved.

onCopied

public void onCopied(String srcPath,
                     String dstPath)
Records a 'copied' change.

Note: the copy change only records the basic copy command. the implied changes on the copied properties and sub nodes are not recorded.

Parameters:
srcPath - source path of the node that was copied
dstPath - destination path of the node that was copied.

onChange

public void onChange(String type,
                     String... arguments)
Records a generic change of the given type.

The change is added to the internal list of changes with the syntax of a method call, where the type is the method name and the arguments are the string arguments to the method enclosed in double quotes. For example, the the call

 onChange("sameple", "arg1", "arg2");
 
is aded as
 sample("arg1", "arg2")
 
to the internal list of changes.

Parameters:
type - The type of the modification
arguments - The arguments to the modifications

setProperty

public void setProperty(String name,
                        Object value)
Sets a generic response property with the given

Parameters:
name - name of the property
value - value of the property

getProperty

public <Type> Type getProperty(String name,
                               Class<Type> type)
Returns the generic response property with the given name and type or null if no such property exists or the property is not of the requested type.


getProperty

public Object getProperty(String name)
Returns the generic response property with the given name and type or null if no such property exists.


send

public void send(javax.servlet.http.HttpServletResponse response,
                 boolean setStatus)
          throws IOException
Writes the response to the given writer and replaces all ${var} patterns by the value of the respective property. if the property is not defined the pattern is not modified.

Parameters:
response - to send to
setStatus - whether to set the status code on the response
Throws:
IOException - if an i/o exception occurs


Copyright © 2007-2011 The Apache Software Foundation. All Rights Reserved.