You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@polygene.apache.org by ni...@apache.org on 2015/04/24 08:36:40 UTC
[27/50] [abbrv] zest-qi4j git commit: Adding documentation to the
Javascript Scripting Library.
Adding documentation to the Javascript Scripting Library.
Project: http://git-wip-us.apache.org/repos/asf/zest-qi4j/repo
Commit: http://git-wip-us.apache.org/repos/asf/zest-qi4j/commit/beb9f687
Tree: http://git-wip-us.apache.org/repos/asf/zest-qi4j/tree/beb9f687
Diff: http://git-wip-us.apache.org/repos/asf/zest-qi4j/diff/beb9f687
Branch: refs/heads/master
Commit: beb9f68770f5f19315676a0b3a1fe263276e5607
Parents: c78eaf3
Author: Niclas Hedhman <ni...@hedhman.org>
Authored: Sat Jan 10 19:09:33 2015 +0800
Committer: Niclas Hedhman <ni...@hedhman.org>
Committed: Sat Jan 10 19:09:33 2015 +0800
----------------------------------------------------------------------
libraries/lang-javascript/dev-status.xml | 2 +-
.../src/docs/lang-javascript.txt | 18 ++++++++++--
.../qi4j/lang/javascript/JavaScriptMixin.java | 1 +
.../lang/javascript/DocumentationSupport.java | 29 ++++++++++++++++++++
.../lang/javascript/JavaScriptMixinTest.java | 2 +-
libraries/neo4j/dev-status.xml | 2 +-
6 files changed, 48 insertions(+), 6 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/zest-qi4j/blob/beb9f687/libraries/lang-javascript/dev-status.xml
----------------------------------------------------------------------
diff --git a/libraries/lang-javascript/dev-status.xml b/libraries/lang-javascript/dev-status.xml
index 654d3aa..cefc98a 100644
--- a/libraries/lang-javascript/dev-status.xml
+++ b/libraries/lang-javascript/dev-status.xml
@@ -8,7 +8,7 @@
<codebase>beta</codebase>
<!-- none, brief, good, complete -->
- <documentation>none</documentation>
+ <documentation>brief</documentation>
<!-- none, some, good, complete -->
<unittests>some</unittests>
http://git-wip-us.apache.org/repos/asf/zest-qi4j/blob/beb9f687/libraries/lang-javascript/src/docs/lang-javascript.txt
----------------------------------------------------------------------
diff --git a/libraries/lang-javascript/src/docs/lang-javascript.txt b/libraries/lang-javascript/src/docs/lang-javascript.txt
index bacd23f..3fb9908 100644
--- a/libraries/lang-javascript/src/docs/lang-javascript.txt
+++ b/libraries/lang-javascript/src/docs/lang-javascript.txt
@@ -6,8 +6,20 @@
source=libraries/lang-javascript/dev-status.xml
--------------
-Javascript Scripting Library
-
-NOTE: This Library has no documentation yet. Learn how to contribute in <<community-docs>>.
+The Javascript Scripting Library allows Mixin methods to be implemented in Javascript and loaded dynamically on first use.
include::../../build/docs/buildinfo/artifact.txt[]
+
+The Javascript Scripting Library is a Generic mixin class that implements Composite interfaces by delegating to JavaScript functions using Rhino. Each method in an interface is declared as a JS function in a file located in classpath with the name "<interface>.<method>.js", where the interface name includes the package, and has "." replaced with "/".
+
+Example: org/qi4j/samples/hello/domain/HelloWorldSpeaker.say.js
+
+That means that the HelloWorldSpeaker.say.js file may be co-located with the class files in the same package. It is currently not supported to place the Javascript implementation of the mixin in a different package than the interface it implements.
+
+To use Javascript to implement the Mixin functionality for a given interface, simply declare the +JavaScriptMixin+ like any other mixin, either in the interface or at assembly time.
+
+[snippet,java]
+----
+source=libraries/lang-javascript/src/test/java/org/qi4j/library/lang/javascript/DocumentationSupport.java
+tag=mixin
+----
http://git-wip-us.apache.org/repos/asf/zest-qi4j/blob/beb9f687/libraries/lang-javascript/src/main/java/org/qi4j/lang/javascript/JavaScriptMixin.java
----------------------------------------------------------------------
diff --git a/libraries/lang-javascript/src/main/java/org/qi4j/lang/javascript/JavaScriptMixin.java b/libraries/lang-javascript/src/main/java/org/qi4j/lang/javascript/JavaScriptMixin.java
index f924f89..098aaca 100644
--- a/libraries/lang-javascript/src/main/java/org/qi4j/lang/javascript/JavaScriptMixin.java
+++ b/libraries/lang-javascript/src/main/java/org/qi4j/lang/javascript/JavaScriptMixin.java
@@ -51,6 +51,7 @@ public class JavaScriptMixin
@Structure private TransientBuilderFactory factory;
private Scriptable instanceScope;
+
static
{
Context cx = Context.enter();
http://git-wip-us.apache.org/repos/asf/zest-qi4j/blob/beb9f687/libraries/lang-javascript/src/test/java/org/qi4j/lang/javascript/DocumentationSupport.java
----------------------------------------------------------------------
diff --git a/libraries/lang-javascript/src/test/java/org/qi4j/lang/javascript/DocumentationSupport.java b/libraries/lang-javascript/src/test/java/org/qi4j/lang/javascript/DocumentationSupport.java
new file mode 100644
index 0000000..36aa9f4
--- /dev/null
+++ b/libraries/lang-javascript/src/test/java/org/qi4j/lang/javascript/DocumentationSupport.java
@@ -0,0 +1,29 @@
+/*
+ * Copyright 2007 Rickard Öberg
+ * 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 org.qi4j.lang.javascript;
+
+import org.qi4j.api.mixin.Mixins;
+
+// START SNIPPET: mixin
+import org.qi4j.lang.javascript.JavaScriptMixin;
+// END SNIPPET: mixin
+
+public interface DocumentationSupport
+{
+ // START SNIPPET: mixin
+ @Mixins(JavaScriptMixin.class)
+ public interface HelloSpeaker
+ {
+ void sayHello();
+ }
+ // END SNIPPET: mixin
+}
http://git-wip-us.apache.org/repos/asf/zest-qi4j/blob/beb9f687/libraries/lang-javascript/src/test/java/org/qi4j/lang/javascript/JavaScriptMixinTest.java
----------------------------------------------------------------------
diff --git a/libraries/lang-javascript/src/test/java/org/qi4j/lang/javascript/JavaScriptMixinTest.java b/libraries/lang-javascript/src/test/java/org/qi4j/lang/javascript/JavaScriptMixinTest.java
index 4e2e6e4..dc34d91 100644
--- a/libraries/lang-javascript/src/test/java/org/qi4j/lang/javascript/JavaScriptMixinTest.java
+++ b/libraries/lang-javascript/src/test/java/org/qi4j/lang/javascript/JavaScriptMixinTest.java
@@ -1,4 +1,3 @@
-package org.qi4j.lang.javascript;
/*
* Copyright 2007 Rickard Öberg
* Licensed under the Apache License, Version 2.0 (the "License");
@@ -10,6 +9,7 @@ package org.qi4j.lang.javascript;
* See the License for the specific language governing permissions and
* limitations under the License.
*/
+package org.qi4j.lang.javascript;
import org.junit.Assert;
import org.junit.Test;
http://git-wip-us.apache.org/repos/asf/zest-qi4j/blob/beb9f687/libraries/neo4j/dev-status.xml
----------------------------------------------------------------------
diff --git a/libraries/neo4j/dev-status.xml b/libraries/neo4j/dev-status.xml
index e69e744..26a1204 100644
--- a/libraries/neo4j/dev-status.xml
+++ b/libraries/neo4j/dev-status.xml
@@ -8,7 +8,7 @@
<codebase>beta</codebase>
<!-- none, brief, good, complete -->
- <documentation>none</documentation>
+ <documentation>brief</documentation>
<!-- none, some, good, complete -->
<unittests>some</unittests>