FileDocCategorySizeDatePackage
IFacebookMethod.javaAPI DocGoogle Facebook API v1.43698Fri Nov 02 15:55:40 GMT 2007com.facebook.api

IFacebookMethod.java

/*
  +---------------------------------------------------------------------------+
  | Facebook Development Platform Java Client                                 |
  +---------------------------------------------------------------------------+
  | Copyright (c) 2007 Facebook, Inc.                                         |
  | All rights reserved.                                                      |
  |                                                                           |
  | Redistribution and use in source and binary forms, with or without        |
  | modification, are permitted provided that the following conditions        |
  | are met:                                                                  |
  |                                                                           |
  | 1. Redistributions of source code must retain the above copyright         |
  |    notice, this list of conditions and the following disclaimer.          |
  | 2. Redistributions in binary form must reproduce the above copyright      |
  |    notice, this list of conditions and the following disclaimer in the    |
  |    documentation and/or other materials provided with the distribution.   |
  |                                                                           |
  | THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR      |
  | IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES |
  | OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.   |
  | IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,          |
  | INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT  |
  | NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, |
  | DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY     |
  | THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT       |
  | (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF  |
  | THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.         |
  +---------------------------------------------------------------------------+
  | For help with this library, contact developers-help@facebook.com          |
  +---------------------------------------------------------------------------+
 */

package com.facebook.api;

/**
 * Facebook went interface-happy with their latest release, because someone levied 
 * very questionable criticism that they should extract interfaces for peices of 
 * their code (most of which don't make sense to extract interfaces from), and the 
 * Facebook Java developers weren't clever enough to question the validity of the 
 * criticism and just went ahead with implementing it.  This is one of the more 
 * pointless results of that process.
 */
public interface IFacebookMethod {
    /**
     * @return the name that the Facebook Platform uses to refer to this method.
     */
    public String methodName();
    /**
     * @return the maximum number of params this API call will send (excluding any added automatically by the client).
     */
    public int numParams();
    /**
     * @return true if this API call requires an active session to work
     *         false otherwise
     */
    public boolean requiresSession();
    /**
     * @return the maximum number of params this API call will send, including any that are added automatically by the Facebook client.
     */
    public int numTotalParams();
    /**
     * @return true if this API call accepts a File as a parameter
     *         false otherwise
     */
    public boolean takesFile();
}