org.wso2.registry.jdbc.mediatypes
Class MediaTypeHandler

java.lang.Object
  extended by org.wso2.registry.jdbc.mediatypes.MediaTypeHandler
Direct Known Subclasses:
DefaultMediaTypeHandler, SQLQueryMediaTypeHandler, SynapseRepositoryMediaTypeHandler

public abstract class MediaTypeHandler
extends java.lang.Object

Base class of all media type handlers. It defines the three basic methods to be implemented by all media type handlers. This is initialized with the objects required for handling media type specific operations, so that extending media type handlers can easily access them. One such object is the instance of the MediaTypeManager.


Field Summary
protected  VersionedArtifactDAO artifactDAO
          ArtifactDAO for directly accessing resources.
protected  AuthorizationUtil authorizationUtil
          Some common authorization tasks are implemented in this util.
protected  ConnectionFactory connectionFactory
          Connection factory to obtaining database connections.
protected  MediaTypeManager mediaTypeManager
          While processing media types, handlers may want to access resources with other media types.
protected  org.wso2.usermanager.Realm realm
          User manager realm, which can be used to set permissions on resources.
 
Constructor Summary
MediaTypeHandler(ConnectionFactory connectionFactory, org.wso2.usermanager.Realm realm, MediaTypeManager mediaTypeManager)
           
 
Method Summary
abstract  boolean delete(java.lang.String path)
          Processes the DELETE action of the media type.
abstract  Artifact get(java.lang.String path, Artifact rawArtifact)
          Processes the GET action of the media type.
abstract  boolean put(java.lang.String path, Artifact artifact)
          Processes the PUT action of the media type.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

connectionFactory

protected ConnectionFactory connectionFactory
Connection factory to obtaining database connections. Media type handlers need to access the database for performing almost all the tasks.


realm

protected org.wso2.usermanager.Realm realm
User manager realm, which can be used to set permissions on resources. Media type handlers may want to add other resources (e.g. imports) than the originally given resource. So it is necessary to allow media type handler to set permissions for the resources it is dealing with.


mediaTypeManager

protected MediaTypeManager mediaTypeManager
While processing media types, handlers may want to access resources with other media types. Then they can just call the appropriate methods of the MediaTypeManager for doing that. e.g. "text" mediatype handler may just want to change the content of the resource from String to byte[] before PUT. So that users can set Strings as the content of text resources. But after changing that, text handler want PUT the resource using normal process. In that case, text handler can execute the put(...) method of the DefaultMediaTypeHandler after doing the relevent changes to the resource.


artifactDAO

protected VersionedArtifactDAO artifactDAO
ArtifactDAO for directly accessing resources.


authorizationUtil

protected AuthorizationUtil authorizationUtil
Some common authorization tasks are implemented in this util.

Constructor Detail

MediaTypeHandler

public MediaTypeHandler(ConnectionFactory connectionFactory,
                        org.wso2.usermanager.Realm realm,
                        MediaTypeManager mediaTypeManager)
Method Detail

get

public abstract Artifact get(java.lang.String path,
                             Artifact rawArtifact)
                      throws RegistryException
Processes the GET action of the media type.

Parameters:
path - Path of the resource
rawArtifact - Raw artifact at the given path, which is retrieved directly from the database. This can be used by media type handlers, which need to alter contents of the raw artifact, etc.
Returns:
Artifact instance if the media type handler processes the GET action. If artifact is returned it should perform all tasks to fulfill the GET request. Returns null if the media type handler does not process the GET action. If null is returned, get(...) method of the DefaultMediaTypeHandler will be invoked.
Throws:
RegistryException

put

public abstract boolean put(java.lang.String path,
                            Artifact artifact)
                     throws RegistryException
Processes the PUT action of the media type.

Parameters:
path - to put the resource.
artifact - to put.
Returns:
true if the media type handler processes the PUT action. If true is returned it should perform all tasks to fulfill the PUT request. Returns false if the media type handler does not process the PUT action. If false is returned, put(...) method of the DefaultMediaTypeHandler will be invoked.
Throws:
RegistryException

delete

public abstract boolean delete(java.lang.String path)
                        throws RegistryException
Processes the DELETE action of the media type.

Parameters:
path - path of the resource to be deleted.
Returns:
true if the media type handler processes the DELETE action. If true is returned it should perform all tasks to fulfill the DELETE request. Returns false if the media type handler does not process the DELETE action. If false is returned, delete(...) method of the DefaultMediaTypeHandler will be invoked.
Throws:
RegistryException


Copyright © 2007 Apache Web Services Project. All Rights Reserved.