org.apache.abdera.protocol.server.impl
Class AbstractProvider

java.lang.Object
  extended by org.apache.abdera.protocol.server.impl.AbstractProvider
All Implemented Interfaces:
Provider

public abstract class AbstractProvider
extends java.lang.Object
implements Provider


Field Summary
protected  int defaultpagesize
           
 
Constructor Summary
protected AbstractProvider()
           
protected AbstractProvider(int defaultpagesize)
           
 
Method Summary
protected  ResponseContext badrequest(Abdera abdera, RequestContext request, java.lang.String reason)
          Return a 400 bad request error
protected static boolean beforeOrEqual(java.util.Date d1, java.util.Date d2)
           
protected  void checkEntryAddAdditionalNamespaces(java.util.List ignore)
          Implementations should override this method to add additional namespaces to the ignore list.
protected  boolean checkEntryNamespaces(RequestContext request, Entry entry)
          Checks the entry for unknown extension elements.
protected  java.lang.String combine(java.lang.String... vals)
           
protected  ResponseContext conflict(Abdera abdera, RequestContext request, java.lang.String reason)
          Return a 409 conflict error
protected  Document<Error> createErrorDocument(Abdera abdera, int code, java.lang.String message, java.lang.Throwable e)
           
 ResponseContext deleteMedia(RequestContext request)
           
 ResponseContext entryPost(RequestContext request)
           
protected  ResponseContext forbidden(Abdera abdera, RequestContext request, java.lang.String reason)
          Return an unauthorized error
 java.lang.String[] getAllowedMethods(TargetType type)
           
 ResponseContext getCategories(RequestContext request)
           
protected  int getDefaultPageSize()
           
 ResponseContext getMedia(RequestContext request)
           
protected  int getOffset(RequestContext request, java.lang.String pageparam, int pageSize)
           
protected  int getPageSize(RequestContext request, java.lang.String pagesizeparam)
           
protected static boolean isValidEntry(Entry entry)
          Check to see if the entry is minimally valid according to RFC4287.
protected  ResponseContext locked(Abdera abdera, RequestContext request, java.lang.String reason)
          Return a 423 locked error
 ResponseContext mediaPost(RequestContext request)
           
protected  ResponseContext notallowed(Abdera abdera, RequestContext request, java.lang.String reason, java.lang.String... methods)
          Return a 405 method not allowed error
protected  ResponseContext notmodified(Abdera abdera, RequestContext request, java.lang.String reason)
           
protected  ResponseContext notsupported(Abdera abdera, RequestContext request, java.lang.String reason)
          Return a 415 media type not-supported error
protected  ResponseContext preconditionfailed(Abdera abdera, RequestContext request, java.lang.String reason)
           
 ResponseContext request(RequestContext request)
           
protected  org.apache.abdera.i18n.iri.IRI resolveBase(RequestContext request)
           
protected  ResponseContext returnBase(Base base, int status, java.util.Date lastModified)
          Return a document
protected  java.lang.String sanitizeSlug(java.lang.String slug)
          Sanitize the value of a Slug header.
protected  ResponseContext servererror(Abdera abdera, RequestContext request, java.lang.String reason, java.lang.Throwable t)
          Return a server error
protected  ResponseContext unauthorized(Abdera abdera, RequestContext request, java.lang.String reason)
          Return an unauthorized error
protected  ResponseContext unavailable(Abdera abdera, RequestContext request, java.lang.String reason)
          Return a service unavailable error
protected  ResponseContext unknown(Abdera abdera, RequestContext request, java.lang.String reason)
          Return a 404 not found error
 ResponseContext updateMedia(RequestContext request)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface org.apache.abdera.protocol.server.Provider
createEntry, deleteEntry, getEntry, getFeed, getService, updateEntry
 

Field Detail

defaultpagesize

protected int defaultpagesize
Constructor Detail

AbstractProvider

protected AbstractProvider()

AbstractProvider

protected AbstractProvider(int defaultpagesize)
Method Detail

createErrorDocument

protected Document<Error> createErrorDocument(Abdera abdera,
                                              int code,
                                              java.lang.String message,
                                              java.lang.Throwable e)

servererror

protected ResponseContext servererror(Abdera abdera,
                                      RequestContext request,
                                      java.lang.String reason,
                                      java.lang.Throwable t)
Return a server error


unauthorized

protected ResponseContext unauthorized(Abdera abdera,
                                       RequestContext request,
                                       java.lang.String reason)
Return an unauthorized error


forbidden

protected ResponseContext forbidden(Abdera abdera,
                                    RequestContext request,
                                    java.lang.String reason)
Return an unauthorized error


unknown

protected ResponseContext unknown(Abdera abdera,
                                  RequestContext request,
                                  java.lang.String reason)
Return a 404 not found error


notallowed

protected ResponseContext notallowed(Abdera abdera,
                                     RequestContext request,
                                     java.lang.String reason,
                                     java.lang.String... methods)
Return a 405 method not allowed error


badrequest

protected ResponseContext badrequest(Abdera abdera,
                                     RequestContext request,
                                     java.lang.String reason)
Return a 400 bad request error


conflict

protected ResponseContext conflict(Abdera abdera,
                                   RequestContext request,
                                   java.lang.String reason)
Return a 409 conflict error


unavailable

protected ResponseContext unavailable(Abdera abdera,
                                      RequestContext request,
                                      java.lang.String reason)
Return a service unavailable error


notmodified

protected ResponseContext notmodified(Abdera abdera,
                                      RequestContext request,
                                      java.lang.String reason)

preconditionfailed

protected ResponseContext preconditionfailed(Abdera abdera,
                                             RequestContext request,
                                             java.lang.String reason)

notsupported

protected ResponseContext notsupported(Abdera abdera,
                                       RequestContext request,
                                       java.lang.String reason)
Return a 415 media type not-supported error


locked

protected ResponseContext locked(Abdera abdera,
                                 RequestContext request,
                                 java.lang.String reason)
Return a 423 locked error


returnBase

protected ResponseContext returnBase(Base base,
                                     int status,
                                     java.util.Date lastModified)
Return a document


sanitizeSlug

protected java.lang.String sanitizeSlug(java.lang.String slug)
Sanitize the value of a Slug header. Any non alphanumeric characters in the slug are replaced with an underscore


getDefaultPageSize

protected int getDefaultPageSize()

getPageSize

protected int getPageSize(RequestContext request,
                          java.lang.String pagesizeparam)

getOffset

protected int getOffset(RequestContext request,
                        java.lang.String pageparam,
                        int pageSize)

isValidEntry

protected static boolean isValidEntry(Entry entry)
Check to see if the entry is minimally valid according to RFC4287. This is not a complete check. It just verifies that the appropriate elements are present and that their values can be accessed.


checkEntryAddAdditionalNamespaces

protected void checkEntryAddAdditionalNamespaces(java.util.List ignore)
Implementations should override this method to add additional namespaces to the ignore list.


checkEntryNamespaces

protected boolean checkEntryNamespaces(RequestContext request,
                                       Entry entry)
Checks the entry for unknown extension elements. Returns false if the entry contains any extension elements that are not supported


beforeOrEqual

protected static boolean beforeOrEqual(java.util.Date d1,
                                       java.util.Date d2)

resolveBase

protected org.apache.abdera.i18n.iri.IRI resolveBase(RequestContext request)

request

public ResponseContext request(RequestContext request)
Specified by:
request in interface Provider

getAllowedMethods

public java.lang.String[] getAllowedMethods(TargetType type)
Specified by:
getAllowedMethods in interface Provider

combine

protected java.lang.String combine(java.lang.String... vals)

entryPost

public ResponseContext entryPost(RequestContext request)
Specified by:
entryPost in interface Provider

mediaPost

public ResponseContext mediaPost(RequestContext request)
Specified by:
mediaPost in interface Provider

getCategories

public ResponseContext getCategories(RequestContext request)
Specified by:
getCategories in interface Provider

deleteMedia

public ResponseContext deleteMedia(RequestContext request)
Specified by:
deleteMedia in interface Provider

getMedia

public ResponseContext getMedia(RequestContext request)
Specified by:
getMedia in interface Provider

updateMedia

public ResponseContext updateMedia(RequestContext request)
Specified by:
updateMedia in interface Provider