196b00fec6cd6068c1c5ae09de0358340c0ec499eThe Android Open Source Projectpackage jdiff;
296b00fec6cd6068c1c5ae09de0358340c0ec499eThe Android Open Source Project
396b00fec6cd6068c1c5ae09de0358340c0ec499eThe Android Open Source Projectimport java.io.*;
496b00fec6cd6068c1c5ae09de0358340c0ec499eThe Android Open Source Projectimport java.util.*;
596b00fec6cd6068c1c5ae09de0358340c0ec499eThe Android Open Source Project
696b00fec6cd6068c1c5ae09de0358340c0ec499eThe Android Open Source Project/**
796b00fec6cd6068c1c5ae09de0358340c0ec499eThe Android Open Source Project * Class to represent any (name, type) pair such as a parameter.
896b00fec6cd6068c1c5ae09de0358340c0ec499eThe Android Open Source Project * Analogous to ParamType in the Javadoc doclet API.
996b00fec6cd6068c1c5ae09de0358340c0ec499eThe Android Open Source Project *
1096b00fec6cd6068c1c5ae09de0358340c0ec499eThe Android Open Source Project * The method used for Collection comparison (compareTo) must make its
1196b00fec6cd6068c1c5ae09de0358340c0ec499eThe Android Open Source Project * comparison based upon everything that is known about this parameter.
1296b00fec6cd6068c1c5ae09de0358340c0ec499eThe Android Open Source Project *
1396b00fec6cd6068c1c5ae09de0358340c0ec499eThe Android Open Source Project * See the file LICENSE.txt for copyright details.
1496b00fec6cd6068c1c5ae09de0358340c0ec499eThe Android Open Source Project * @author Matthew Doar, mdoar@pobox.com
1596b00fec6cd6068c1c5ae09de0358340c0ec499eThe Android Open Source Project */
1696b00fec6cd6068c1c5ae09de0358340c0ec499eThe Android Open Source Projectclass ParamAPI implements Comparable {
1796b00fec6cd6068c1c5ae09de0358340c0ec499eThe Android Open Source Project    /** Name of the (name, type) pair. */
1896b00fec6cd6068c1c5ae09de0358340c0ec499eThe Android Open Source Project    public String name_;
1996b00fec6cd6068c1c5ae09de0358340c0ec499eThe Android Open Source Project
2096b00fec6cd6068c1c5ae09de0358340c0ec499eThe Android Open Source Project    /** Type of the (name, type) pair. */
2196b00fec6cd6068c1c5ae09de0358340c0ec499eThe Android Open Source Project    public String type_;
2296b00fec6cd6068c1c5ae09de0358340c0ec499eThe Android Open Source Project
2396b00fec6cd6068c1c5ae09de0358340c0ec499eThe Android Open Source Project    public ParamAPI(String name, String type) {
2496b00fec6cd6068c1c5ae09de0358340c0ec499eThe Android Open Source Project        name_ = name;
2596b00fec6cd6068c1c5ae09de0358340c0ec499eThe Android Open Source Project        type_ = type;
2696b00fec6cd6068c1c5ae09de0358340c0ec499eThe Android Open Source Project    }
2796b00fec6cd6068c1c5ae09de0358340c0ec499eThe Android Open Source Project
2896b00fec6cd6068c1c5ae09de0358340c0ec499eThe Android Open Source Project    /** Compare two ParamAPI objects using both name and type. */
2996b00fec6cd6068c1c5ae09de0358340c0ec499eThe Android Open Source Project    public int compareTo(Object o) {
3096b00fec6cd6068c1c5ae09de0358340c0ec499eThe Android Open Source Project        ParamAPI oParamAPI = (ParamAPI)o;
3196b00fec6cd6068c1c5ae09de0358340c0ec499eThe Android Open Source Project        int comp = name_.compareTo(oParamAPI.name_);
3296b00fec6cd6068c1c5ae09de0358340c0ec499eThe Android Open Source Project        if (comp != 0)
3396b00fec6cd6068c1c5ae09de0358340c0ec499eThe Android Open Source Project            return comp;
3496b00fec6cd6068c1c5ae09de0358340c0ec499eThe Android Open Source Project        comp = type_.compareTo(oParamAPI.type_);
3596b00fec6cd6068c1c5ae09de0358340c0ec499eThe Android Open Source Project        if (comp != 0)
3696b00fec6cd6068c1c5ae09de0358340c0ec499eThe Android Open Source Project            return comp;
3796b00fec6cd6068c1c5ae09de0358340c0ec499eThe Android Open Source Project        return 0;
3896b00fec6cd6068c1c5ae09de0358340c0ec499eThe Android Open Source Project    }
3996b00fec6cd6068c1c5ae09de0358340c0ec499eThe Android Open Source Project
4096b00fec6cd6068c1c5ae09de0358340c0ec499eThe Android Open Source Project    /**
4196b00fec6cd6068c1c5ae09de0358340c0ec499eThe Android Open Source Project     * Tests two ParamAPI objects using just the name, used by indexOf().
4296b00fec6cd6068c1c5ae09de0358340c0ec499eThe Android Open Source Project     */
4396b00fec6cd6068c1c5ae09de0358340c0ec499eThe Android Open Source Project    public boolean equals(Object o) {
4496b00fec6cd6068c1c5ae09de0358340c0ec499eThe Android Open Source Project        if (name_.compareTo(((ParamAPI)o).name_) == 0)
4596b00fec6cd6068c1c5ae09de0358340c0ec499eThe Android Open Source Project            return true;
4696b00fec6cd6068c1c5ae09de0358340c0ec499eThe Android Open Source Project        return false;
4796b00fec6cd6068c1c5ae09de0358340c0ec499eThe Android Open Source Project    }
4896b00fec6cd6068c1c5ae09de0358340c0ec499eThe Android Open Source Project
4996b00fec6cd6068c1c5ae09de0358340c0ec499eThe Android Open Source Project    /** Used to create signatures. */
5096b00fec6cd6068c1c5ae09de0358340c0ec499eThe Android Open Source Project    public String toString() {
5196b00fec6cd6068c1c5ae09de0358340c0ec499eThe Android Open Source Project        if (type_.compareTo("void") == 0)
5296b00fec6cd6068c1c5ae09de0358340c0ec499eThe Android Open Source Project            return "";
5396b00fec6cd6068c1c5ae09de0358340c0ec499eThe Android Open Source Project        return type_;
5496b00fec6cd6068c1c5ae09de0358340c0ec499eThe Android Open Source Project    }
5596b00fec6cd6068c1c5ae09de0358340c0ec499eThe Android Open Source Project}
56