| package jdiff; |
| |
| import java.io.*; |
| import java.util.*; |
| |
| /** |
| * Class to represent a constructor, analogous to ConstructorDoc in the |
| * Javadoc doclet API. |
| * |
| * The method used for Collection comparison (compareTo) must make its |
| * comparison based upon everything that is known about this constructor. |
| * |
| * See the file LICENSE.txt for copyright details. |
| * @author Matthew Doar, mdoar@pobox.com |
| */ |
| class ConstructorAPI implements Comparable { |
| /** |
| * The type of the constructor, being all the parameter types |
| * separated by commas. |
| */ |
| public String type_ = null; |
| |
| /** |
| * The exceptions thrown by this constructor, being all the exception types |
| * separated by commas. "no exceptions" if no exceptions are thrown. |
| */ |
| public String exceptions_ = "no exceptions"; |
| |
| /** Modifiers for this class. */ |
| public Modifiers modifiers_; |
| |
| /** The doc block, default is null. */ |
| public String doc_ = null; |
| |
| /** Constructor. */ |
| public ConstructorAPI(String type, Modifiers modifiers) { |
| type_ = type; |
| modifiers_ = modifiers; |
| } |
| |
| /** Compare two ConstructorAPI objects by type and modifiers. */ |
| public int compareTo(Object o) { |
| ConstructorAPI constructorAPI = (ConstructorAPI)o; |
| int comp = type_.compareTo(constructorAPI.type_); |
| if (comp != 0) |
| return comp; |
| comp = exceptions_.compareTo(constructorAPI.exceptions_); |
| if (comp != 0) |
| return comp; |
| comp = modifiers_.compareTo(constructorAPI.modifiers_); |
| if (comp != 0) |
| return comp; |
| if (APIComparator.docChanged(doc_, constructorAPI.doc_)) |
| return -1; |
| return 0; |
| } |
| |
| /** |
| * Tests two constructors, using just the type, used by indexOf(). |
| */ |
| public boolean equals(Object o) { |
| if (type_.compareTo(((ConstructorAPI)o).type_) == 0) |
| return true; |
| return false; |
| } |
| } |