package jdiff; import java.io.*; import java.util.*; /** * Class to represent any (name, type) pair such as a parameter. * Analogous to ParamType in the Javadoc doclet API. * * The method used for Collection comparison (compareTo) must make its * comparison based upon everything that is known about this parameter. * * See the file LICENSE.txt for copyright details. * @author Matthew Doar, mdoar@pobox.com */ class ParamAPI implements Comparable { /** Name of the (name, type) pair. */ public String name_; /** Type of the (name, type) pair. */ public String type_; public ParamAPI(String name, String type) { name_ = name; type_ = type; } /** Compare two ParamAPI objects using both name and type. */ public int compareTo(Object o) { ParamAPI oParamAPI = (ParamAPI)o; int comp = name_.compareTo(oParamAPI.name_); if (comp != 0) return comp; comp = type_.compareTo(oParamAPI.type_); if (comp != 0) return comp; return 0; } /** * Tests two ParamAPI objects using just the name, used by indexOf(). */ public boolean equals(Object o) { if (name_.compareTo(((ParamAPI)o).name_) == 0) return true; return false; } /** Used to create signatures. */ public String toString() { if (type_.compareTo("void") == 0) return ""; return type_; } }