Making more things private, removing KOList and providing some fake Javadoc
diff --git a/ko-bck2brwsr/pom.xml b/ko-bck2brwsr/pom.xml
index 96154dc..8649ad7 100644
--- a/ko-bck2brwsr/pom.xml
+++ b/ko-bck2brwsr/pom.xml
@@ -22,6 +22,13 @@
<target>1.7</target>
</configuration>
</plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-javadoc-plugin</artifactId>
+ <configuration>
+ <skip>false</skip>
+ </configuration>
+ </plugin>
</plugins>
</build>
<dependencies>
diff --git a/ko-bck2brwsr/src/main/java/org/apidesign/html/ko2brwsr/BrwsrCntxt.java b/ko-bck2brwsr/src/main/java/org/apidesign/html/ko2brwsr/BrwsrCntxt.java
index fa91cf4..e317c86 100644
--- a/ko-bck2brwsr/src/main/java/org/apidesign/html/ko2brwsr/BrwsrCntxt.java
+++ b/ko-bck2brwsr/src/main/java/org/apidesign/html/ko2brwsr/BrwsrCntxt.java
@@ -32,7 +32,7 @@
*
* @author Jaroslav Tulach <jtulach@netbeans.org>
*/
-public final class BrwsrCntxt implements Technology<Object>, Transfer {
+final class BrwsrCntxt implements Technology<Object>, Transfer {
private BrwsrCntxt() {}
public static final Context DEFAULT;
diff --git a/ko-bck2brwsr/src/main/java/org/apidesign/html/ko2brwsr/BrwsrCntxtPrvdr.java b/ko-bck2brwsr/src/main/java/org/apidesign/html/ko2brwsr/BrwsrCntxtPrvdr.java
index 475d037..f3108dd 100644
--- a/ko-bck2brwsr/src/main/java/org/apidesign/html/ko2brwsr/BrwsrCntxtPrvdr.java
+++ b/ko-bck2brwsr/src/main/java/org/apidesign/html/ko2brwsr/BrwsrCntxtPrvdr.java
@@ -25,9 +25,15 @@
import org.apidesign.html.json.spi.ContextProvider;
import org.openide.util.lookup.ServiceProvider;
-/**
+/** This is an implementation package - just
+ * include its JAR on classpath and use official {@link Context} API
+ * to access the functionality.
+ * <p>
+ * Provides binding between models and <a href="http://bck2brwsr.apidesign.org">
+ * Bck2Brwsr</a> VM.
+ * Registers {@link ContextProvider}, so {@link ServiceLoader} can find it.
*
- * @author Jaroslav Tulach <jaroslav.tulach@apidesign.org>
+ * @author Jaroslav Tulach <jtulach@netbeans.org>
*/
@ServiceProvider(service = ContextProvider.class)
public final class BrwsrCntxtPrvdr implements ContextProvider {
diff --git a/ko-bck2brwsr/src/main/java/org/apidesign/html/ko2brwsr/ConvertTypes.java b/ko-bck2brwsr/src/main/java/org/apidesign/html/ko2brwsr/ConvertTypes.java
index 8c9f982..5e99781 100644
--- a/ko-bck2brwsr/src/main/java/org/apidesign/html/ko2brwsr/ConvertTypes.java
+++ b/ko-bck2brwsr/src/main/java/org/apidesign/html/ko2brwsr/ConvertTypes.java
@@ -26,7 +26,7 @@
*
* @author Jaroslav Tulach <jtulach@netbeans.org>
*/
-public final class ConvertTypes {
+final class ConvertTypes {
ConvertTypes() {
}
diff --git a/ko-bck2brwsr/src/main/java/org/apidesign/html/ko2brwsr/KOList.java b/ko-bck2brwsr/src/main/java/org/apidesign/html/ko2brwsr/KOList.java
deleted file mode 100644
index 65ee501..0000000
--- a/ko-bck2brwsr/src/main/java/org/apidesign/html/ko2brwsr/KOList.java
+++ /dev/null
@@ -1,170 +0,0 @@
-/**
- * HTML via Java(tm) Language Bindings
- * Copyright (C) 2013 Jaroslav Tulach <jaroslav.tulach@apidesign.org>
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, version 2 of the License.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details. apidesign.org
- * designates this particular file as subject to the
- * "Classpath" exception as provided by apidesign.org
- * in the License file that accompanied this code.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. Look for COPYING file in the top folder.
- * If not, see http://wiki.apidesign.org/wiki/GPLwithClassPathException
- */
-package org.apidesign.html.ko2brwsr;
-
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.Iterator;
-import org.apidesign.bck2brwsr.core.JavaScriptOnly;
-
-/**
- *
- * @author Jaroslav Tulach <jtulach@netbeans.org>
- */
-public final class KOList<T> extends ArrayList<T> {
- private final String name;
- private final String[] deps;
- private Knockout model;
- private Runnable onchange;
-
- public KOList(String name, String... deps) {
- this.name = name;
- this.deps = deps;
- }
-
- public void assign(Knockout model) {
- if (this.model != model) {
- this.model = model;
- notifyChange();
- }
- }
-
- public KOList<T> onChange(Runnable r) {
- if (this.onchange != null) {
- throw new IllegalStateException();
- }
- this.onchange = r;
- return this;
- }
-
- @Override
- public boolean add(T e) {
- boolean ret = super.add(e);
- notifyChange();
- return ret;
- }
-
- @Override
- public boolean addAll(Collection<? extends T> c) {
- boolean ret = super.addAll(c);
- notifyChange();
- return ret;
- }
-
- @Override
- public boolean addAll(int index, Collection<? extends T> c) {
- boolean ret = super.addAll(index, c);
- notifyChange();
- return ret;
- }
-
- @Override
- public boolean remove(Object o) {
- boolean ret = super.remove(o);
- notifyChange();
- return ret;
- }
-
- @Override
- public void clear() {
- super.clear();
- notifyChange();
- }
-
- @Override
- public boolean removeAll(Collection<?> c) {
- boolean ret = super.removeAll(c);
- notifyChange();
- return ret;
- }
-
- @Override
- public boolean retainAll(Collection<?> c) {
- boolean ret = super.retainAll(c);
- notifyChange();
- return ret;
- }
-
- @Override
- public T set(int index, T element) {
- T ret = super.set(index, element);
- notifyChange();
- return ret;
- }
-
- @Override
- public void add(int index, T element) {
- super.add(index, element);
- notifyChange();
- }
-
- @Override
- public T remove(int index) {
- T ret = super.remove(index);
- notifyChange();
- return ret;
- }
-
- @Override
- public String toString() {
- Iterator<T> it = iterator();
- if (!it.hasNext()) {
- return "[]";
- }
- String sep = "";
- StringBuilder sb = new StringBuilder();
- sb.append('[');
- while (it.hasNext()) {
- T t = it.next();
- sb.append(sep);
- sb.append(ConvertTypes.toJSON(t));
- sep = ",";
- }
- sb.append(']');
- return sb.toString();
- }
-
-
- @JavaScriptOnly(name = "koArray", value = "function() { return this.toArray___3Ljava_lang_Object_2(); }")
- private static native int koArray();
-
- private void notifyChange() {
- Knockout m = model;
- if (m != null) {
- m.valueHasMutated(name);
- for (String dependant : deps) {
- m.valueHasMutated(dependant);
- }
- }
- Runnable r = onchange;
- if (r != null) {
- r.run();
- }
- }
-
- @Override
- public KOList clone() {
- KOList ko = (KOList)super.clone();
- ko.model = null;
- return ko;
- }
-
-}
diff --git a/ko-bck2brwsr/src/main/java/org/apidesign/html/ko2brwsr/Knockout.java b/ko-bck2brwsr/src/main/java/org/apidesign/html/ko2brwsr/Knockout.java
index 4531088..5911c17 100644
--- a/ko-bck2brwsr/src/main/java/org/apidesign/html/ko2brwsr/Knockout.java
+++ b/ko-bck2brwsr/src/main/java/org/apidesign/html/ko2brwsr/Knockout.java
@@ -25,12 +25,12 @@
import org.apidesign.bck2brwsr.core.ExtraJavaScript;
import org.apidesign.bck2brwsr.core.JavaScriptBody;
-/** Provides binding between models and
+/** Provides binding between models and bck2brwsr VM.
*
* @author Jaroslav Tulach <jtulach@netbeans.org>
*/
@ExtraJavaScript(resource = "/org/apidesign/bck2brwsr/htmlpage/knockout-2.2.1.js")
-public class Knockout {
+final class Knockout {
/** used by tests */
static Knockout next;
private final Object model;