Click here to Skip to main content
15,892,059 members
Articles / Mobile Apps / Android

Drupal with Android integration: Make posts and upload photos. Part II - Android

Rate me:
Please Sign up or sign in to vote.
0.00/5 (No votes)
13 Mar 2013CPOL6 min read 18.1K   6  
This is part II of the article series on Drupal and Android integration.
/*
    Copyright (c) 2005 Redstone Handelsbolag

    This library is free software; you can redistribute it and/or modify it under the terms
    of the GNU Lesser General Public License as published by the Free Software Foundation;
    either version 2.1 of the License, or (at your option) any later version.

    This library 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 Lesser General Public License for more details.

    You should have received a copy of the GNU Lesser General Public License along with this
    library; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330,
    Boston, MA  02111-1307  USA
*/

package redstone.xmlrpc;

import java.io.Writer;
import java.util.List;

/**
 *  Contains information about a particular invocation intercepted
 *  by an invocation processor. Invocation objects are only used
 *  on the server side, and only when calling on invocation processors.
 *
 *  @author Greger Olsson
 */

public class XmlRpcInvocation
{
    /**
     *  @param invocationId The unique identity of the invocation.
     *  @param handlerName The name of the handler that was invoked.
     *  @param methodName The name of the method within the handler that was invoked.
     *  @param handler The invocation handler that was invoked.
     *  @param arguments Arguments used in the invocation.
     *  @param writer The java.io.Writer that the response will be written over.
     */
    public XmlRpcInvocation(
        int invocationId,
        String handlerName,
        String methodName,
        XmlRpcInvocationHandler handler,
        List arguments,
        Writer writer )
    {
        this.invocationId = invocationId;
        this.handlerName = handlerName;
        this.methodName = methodName;
        this.handler = handler;
        this.arguments = arguments;
        this.writer = writer;
    }
    
    
    /**
     *  A sequence number for tracing invocations between preProcess() and
     *  postProcess() calls. This is unique within each session. That is,
     *  the sequence is restarted when the application restarts.
     * 
     *  @return The sequence number of the call.
     */
    
    public int getInvocationId()
    {
        return invocationId;
    }

    
    /**
     *  Returns the name of the invocation handler targeted by the invocation.
     * 
     *  @return The name of the invocation handler targeted by the invocation.
     */
    
    public String getHandlerName()
    {
        return handlerName;
    }

    
    /**
     *  Returns the name of the method in the invocation handler targeted by the invocation.
     *  Using naming conventions for method names various types of filters and processors
     *  may be created.
     *  
     *  @return The name of the method in the invocation handler targeted by the invocation.
     */
    
    public String getMethodName()
    {
        return methodName;
    }


    /**
     *  Sets a new method name to be invoked instead of the
     *  original method name. This can be handy when using a
     *  naming convention where the public XML-RPC interface
     *  uses names with prefixes, for instance, which are stripped
     *  away before reaching the invocation handler, and so forth.
     *
     *  @param methodName The name of the method to user.
     */
    
    public void setMethodName( String methodName )
    {
        this.methodName = methodName;
    }
    
    
    /**
     *  Returns a list of arguments supplied in the invocation. This list may be modified
     *  by the processor. Arguments may be analyzed, modified, added or removed before a
     *  call is dispatched to the handler method.
     * 
     *  @return A list of arguments supplied in the invocation.
     */
    
    public List getArguments()
    {
        return arguments;
    }
    
    
    /**
     *  Returns the handler that will be or has been invoked. This information
     *  may be used in conjunction with the handler name and method name to
     *  achieve some filtering scheme or some other type of processing procedure.
     *
     *  @return Returns the handler that will be or has been invoked.
     */
    
    public XmlRpcInvocationHandler getHandler()
    {
        return handler;
    }
    

    /**
     *  Returns the writer that the response of the invocation will be written
     *  to. The interceptor may write custom content to the writer as a custom
     *  header to the original response or as a complete replacement to the
     *  response.
     *  
     *  @see XmlRpcInvocationInterceptor#after(XmlRpcInvocation, Object)
     * 
     *  @return The writer that the response will be written to.
     */

    public Writer getWriter()
    {
        return writer;
    }
    
    
    /** The unique identity of the invocation. */
    private int invocationId;
    
    /** The name of the handler that was invoked. */
    private String handlerName;
    
    /** The name of the method within the handler that was invoked. */
    private String methodName;
    
    /** The invocation handler that was invoked. */
    private XmlRpcInvocationHandler handler;
    
    /** Arguments used in the invocation. */
    private List arguments;
    
    /** The java.io.Writer that the response will be written over. */
    private Writer writer;
}

By viewing downloads associated with this article you agree to the Terms of Service and the article's licence.

If a file you wish to view isn't highlighted, and is a text file (not binary), please let us know and we'll add colourisation support for it.

License

This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)


Written By
CEO BitGriff LLC
Russian Federation Russian Federation
My name is Andrey Moskvichev.

I'm a software developer with more than 14 years of programming experience.

I specialize in networking, Unix systems (Linux, FreeBSD), mobile programming, computer graphics, software architecture, reverse engineering, data processing systems, AI, computer vision.

I'm interested in all new cutting edge technologies.

Comments and Discussions