FileDocCategorySizeDatePackage
ApiInfo.javaAPI DocAndroid 1.5 API2797Wed May 06 22:41:00 BST 2009com.android.apicheck

ApiInfo

public class ApiInfo extends Object

Fields Summary
private HashMap
mPackages
private HashMap
mAllClasses
Constructors Summary
public ApiInfo()

        mPackages = new HashMap<String, PackageInfo>();
        mAllClasses = new HashMap<String, ClassInfo>();
    
Methods Summary
public voidaddPackage(PackageInfo pInfo)

        // track the set of organized packages in the API
        mPackages.put(pInfo.name(), pInfo);
        
        // accumulate a direct map of all the classes in the API
        for (ClassInfo cl: pInfo.allClasses().values()) {
            mAllClasses.put(cl.qualifiedName(), cl);
        }
    
public java.util.HashMapgetPackages()

        return mPackages;
    
public booleanisConsistent(com.android.apicheck.ApiInfo otherApi)

        boolean consistent = true;
        for (PackageInfo pInfo : mPackages.values()) {
            if (otherApi.getPackages().containsKey(pInfo.name())) {
                if (!pInfo.isConsistent(otherApi.getPackages().get(pInfo.name()))) {
                    consistent = false;
                }
            } else {
                Errors.error(Errors.REMOVED_PACKAGE, pInfo.position(),
                        "Removed package " + pInfo.name());
                consistent = false;
            }
        }
        for (PackageInfo pInfo : otherApi.mPackages.values()) {
            if (!pInfo.isInBoth()) {
                Errors.error(Errors.ADDED_PACKAGE, pInfo.position(),
                        "Added package " + pInfo.name());
                consistent = false;
            }
        }
        return consistent;
    
public voidresolveSuperclasses()

        for (ClassInfo cl: mAllClasses.values()) {
            // java.lang.Object has no superclass
            if (!cl.qualifiedName().equals("java.lang.Object")) {
                String scName = cl.superclassName();
                if (scName == null) {
                    scName = "java.lang.Object";
                }

                ClassInfo superclass = mAllClasses.get(scName);
                cl.setSuperClass(superclass);
            }
        }