Modified old doclava to use LinkedLists instead of arrays

Functioning java parsing as well. Needs to be wired up into doclava proper.

Change-Id: Ifa38ca7312e6c23a8f663a9d0638afb9a29bf19d
diff --git a/src/com/google/doclava/Resolvable.java b/src/com/google/doclava/Resolvable.java
new file mode 100644
index 0000000..e0ef702
--- /dev/null
+++ b/src/com/google/doclava/Resolvable.java
@@ -0,0 +1,41 @@
+/*
+ * Copyright (C) 2011 Google Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.google.doclava;
+
+/**
+ * Resolvable is an interface for those Java types that cannot resolve, upon first parsing
+ * the file in which the type is declared, certain types referenced by that file.
+ *
+ * <p>This interface provides a standard means of saving {@link Resolution}s that we will
+ * later resolve once we have parsed every file. This is provided via the
+ * {@link Resolvable#addResolution(Resolution)} method.
+ *
+ * <p>Additionally, This interface provides a standard means of resolving all resolutions
+ * via the // ADD LINK HERE TO FUTURE RESOLVE FUNCTION // method.
+ */
+public interface Resolvable {
+    /**
+     * Adds a {@link Resolution} that will be resolved at a later time.
+     * @param resolution The {@link Resolution} to resolve at a later time.
+     */
+    public void addResolution(Resolution resolution);
+
+    /**
+     * Prints the list of {@link Resolution}s that will be resolved at a later time.
+     */
+    public void printResolutions();
+}