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 a package, analogous to PackageDoc in the
896b00fec6cd6068c1c5ae09de0358340c0ec499eThe Android Open Source Project * 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 package.
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 PackageAPI implements Comparable {
1796b00fec6cd6068c1c5ae09de0358340c0ec499eThe Android Open Source Project
1896b00fec6cd6068c1c5ae09de0358340c0ec499eThe Android Open Source Project    /** Full qualified name of the package. */
1996b00fec6cd6068c1c5ae09de0358340c0ec499eThe Android Open Source Project    public String name_;
2096b00fec6cd6068c1c5ae09de0358340c0ec499eThe Android Open Source Project
2196b00fec6cd6068c1c5ae09de0358340c0ec499eThe Android Open Source Project    /** Classes within this package. */
2296b00fec6cd6068c1c5ae09de0358340c0ec499eThe Android Open Source Project    public List classes_;  // ClassAPI[]
2396b00fec6cd6068c1c5ae09de0358340c0ec499eThe Android Open Source Project
2496b00fec6cd6068c1c5ae09de0358340c0ec499eThe Android Open Source Project    /** The doc block, default is null. */
2596b00fec6cd6068c1c5ae09de0358340c0ec499eThe Android Open Source Project    public String doc_ = null;
2696b00fec6cd6068c1c5ae09de0358340c0ec499eThe Android Open Source Project
2796b00fec6cd6068c1c5ae09de0358340c0ec499eThe Android Open Source Project    /** Constructor. */
2896b00fec6cd6068c1c5ae09de0358340c0ec499eThe Android Open Source Project    public PackageAPI(String name) {
2996b00fec6cd6068c1c5ae09de0358340c0ec499eThe Android Open Source Project        name_ = name;
3096b00fec6cd6068c1c5ae09de0358340c0ec499eThe Android Open Source Project        classes_ = new ArrayList(); // ClassAPI[]
3196b00fec6cd6068c1c5ae09de0358340c0ec499eThe Android Open Source Project    }
3296b00fec6cd6068c1c5ae09de0358340c0ec499eThe Android Open Source Project
3396b00fec6cd6068c1c5ae09de0358340c0ec499eThe Android Open Source Project    /** Compare two PackageAPI objects by name. */
3496b00fec6cd6068c1c5ae09de0358340c0ec499eThe Android Open Source Project    public int compareTo(Object o) {
3596b00fec6cd6068c1c5ae09de0358340c0ec499eThe Android Open Source Project        PackageAPI oPackageAPI = (PackageAPI)o;
3696b00fec6cd6068c1c5ae09de0358340c0ec499eThe Android Open Source Project        if (APIComparator.docChanged(doc_, oPackageAPI.doc_))
3796b00fec6cd6068c1c5ae09de0358340c0ec499eThe Android Open Source Project            return -1;
3896b00fec6cd6068c1c5ae09de0358340c0ec499eThe Android Open Source Project        return name_.compareTo(oPackageAPI.name_);
3996b00fec6cd6068c1c5ae09de0358340c0ec499eThe Android Open Source Project    }
4096b00fec6cd6068c1c5ae09de0358340c0ec499eThe Android Open Source Project
4196b00fec6cd6068c1c5ae09de0358340c0ec499eThe Android Open Source Project    /**
4296b00fec6cd6068c1c5ae09de0358340c0ec499eThe Android Open Source Project     * Tests two packages, using just the package name, used by indexOf().
4396b00fec6cd6068c1c5ae09de0358340c0ec499eThe Android Open Source Project     */
4496b00fec6cd6068c1c5ae09de0358340c0ec499eThe Android Open Source Project    public boolean equals(Object o) {
4596b00fec6cd6068c1c5ae09de0358340c0ec499eThe Android Open Source Project        if (name_.compareTo(((PackageAPI)o).name_) == 0)
4696b00fec6cd6068c1c5ae09de0358340c0ec499eThe Android Open Source Project            return true;
4796b00fec6cd6068c1c5ae09de0358340c0ec499eThe Android Open Source Project        return false;
4896b00fec6cd6068c1c5ae09de0358340c0ec499eThe Android Open Source Project    }
4996b00fec6cd6068c1c5ae09de0358340c0ec499eThe Android Open Source Project}
50