• R/O
  • SSH

提交

標籤
無標籤

Frequently used words (click to add to your profile)

javac++androidlinuxc#windowsobjective-ccocoa誰得qtpythonphprubygameguibathyscaphec計画中(planning stage)翻訳omegatframeworktwitterdomtestvb.netdirectxゲームエンジンbtronarduinopreviewer

Commit MetaInfo

修訂0a56b09adf49445ae98286d8b3997ce9d26f3844 (tree)
時間2015-11-17 07:56:49
作者MirrgieRiana
CommiterMirrgieRiana

Log Message

mirrg.event.nitrogen: update: template

Change Summary

差異

diff -r 78dde617cd4e -r 0a56b09adf49 projects/mirrg.event.nitrogen/build.gradle
--- a/projects/mirrg.event.nitrogen/build.gradle Sun Oct 18 13:09:22 2015 +0900
+++ b/projects/mirrg.event.nitrogen/build.gradle Tue Nov 17 07:56:49 2015 +0900
@@ -2,87 +2,142 @@
22 apply plugin: 'eclipse'
33 apply plugin: 'maven'
44
5-///////////////////////////////////
5+//////////////////////////////////////////////////////////////////////
66
7+// ★グループId
78 project.group = 'mirrg'
9+
10+// ★成果物のID
811 project.archivesBaseName = 'mirrg.event.nitrogen'
912
10-version = '2.0'
11-
12-dependencies {
13- compile group: 'commons-collections', name: 'commons-collections', version: '3.2'
14- testCompile group: 'junit', name: 'junit', version: '4.+'
15- // compile group: 'mirrg', name: 'mirrg-struct-hydrogen', version: '1.0'
16-}
17-
18-///////////////////////////////////
19-
20-sourceCompatibility = 1.8
21-targetCompatibility = 1.8
22-
23-tasks.withType(AbstractCompile)*.options*.encoding = tasks.withType(GroovyCompile)*.groovyOptions*.encoding = 'UTF-8'
24-
25-jar {
26- manifest {
27- attributes 'Implementation-Title': 'Gradle Quickstart', 'Implementation-Version': version
28- }
29-}
13+// ★成果物のバージョン
14+def superversion = '2.0' // 破壊的なバージョン変更
15+def subversion = '0' // 破壊的でないバージョン変更
3016
31-task sourcesJar(type: Jar, dependsOn:classes) {
32- classifier = 'sources'
33- from sourceSets.main.allSource
34-}
35-
36-task javadocJar(type: Jar, dependsOn:javadoc) {
37- classifier = 'javadoc'
38- from javadoc.destinationDir
39-}
40-
41-javadoc {
42- options.charSet = 'UTF-8'
43- options.encoding = 'UTF-8'
44-}
17+// ★依存関係
18+dependencies {
4519
46-artifacts {
47- archives sourcesJar
48- archives javadocJar
49-}
20+ testCompile group: 'junit', name: 'junit', version: '4.+'
5021
51-repositories {
52- mavenCentral()
53- maven {
54- url '../../maven'
55- }
56-
57- // ★mirrgリポジトリのデフォルトURL
58- //maven {
59- // url 'http://hg.pf.osdn.jp/view/t/ta/tacticsrealize/mirrg.struct.hydrogen/raw-file/tip/maven'
60- //}
22+ //compile group: 'commons-collections', name: 'commons-collections', version: '3.2'
23+ //compile group: 'mirrg', name: 'mirrg.struct.hydrogen-1.0', version: '+'
6124
6225 }
6326
64-test {
65- systemProperties 'property': 'value'
27+// ★追加のリポジトリURL
28+def mavenRepositories = [
29+
30+ // ★mirrgリポジトリのデフォルトURL
31+ //'http://hg.pf.osdn.jp/view/t/ta/tacticsrealize/mirrg.struct.hydrogen/raw-file/tip/maven',
32+
33+]
34+
35+// ★実行可能Jar
36+def mainClass = null
37+
38+def outputLocation =
39+
40+ // ★'../../repos'にフォルダ出力する場合
41+ 'maven'
42+
43+ // ★'../../maven'にMavenプロジェクトとして出力する場合
44+ //'dir'
45+
46+// ★まとまったJarとして出力する
47+def allInOne = false
48+
49+//////////////////////////////////////////////////////////////////////
50+
51+version = superversion + "." + subversion
52+
53+// Javaコンパイル設定
54+
55+ // ソースのJava準拠指定
56+ sourceCompatibility = 1.8
57+ targetCompatibility = 1.8
58+
59+ // ソースのエンコーディング指定
60+ tasks.withType(AbstractCompile)*.options*.encoding = tasks.withType(GroovyCompile)*.groovyOptions*.encoding = 'UTF-8'
61+
62+// Meta-Info
63+jar {
64+ manifest {
65+
66+ // Mainクラス指定
67+ if (mainClass != null) attributes 'Main-Class' : mainClass
68+
69+ attributes 'Implementation-Title': 'Gradle Quickstart', 'Implementation-Version': version
70+
71+ }
72+};
73+
74+// ソースとJavadocを成果物に含める
75+
76+ task sourcesJar(type: Jar, dependsOn:classes) {
77+ classifier = 'sources'
78+ from sourceSets.main.allSource
79+ }
80+
81+ task javadocJar(type: Jar, dependsOn:javadoc) {
82+ classifier = 'javadoc'
83+ from javadoc.destinationDir
84+ }
85+
86+ javadoc {
87+ options.charSet = 'UTF-8'
88+ options.encoding = 'UTF-8'
89+ }
90+
91+ artifacts {
92+ archives sourcesJar
93+ archives javadocJar
94+ }
95+
96+// 追加のMavenリポジトリURL設定
97+repositories {
98+ mavenCentral()
99+ maven {
100+ url '../../maven'
101+ }
102+
103+ mavenRepositories.each {
104+ def a = it
105+ maven {
106+ url a
107+ }
108+ }
109+
66110 }
67111
68-uploadArchives {
69- repositories {
112+/*
113+test {
114+ systemProperties 'property': 'value'
115+}
116+*/
70117
71- // ★まとまったJarとしてフォルダ出力する場合
72- //flatDir {
73- // dirs 'repos'
74- //}
118+// 成果物の出力先
119+uploadArchives {
120+ repositories {
75121
76- // ★mavenプロジェクトとして出力する場合
77- mavenDeployer {
78- pom.artifactId = project.archivesBaseName.replace('.', '-')
79- repository(url: 'file://localhost/' + file('../../maven').getAbsolutePath())
80- }
122+ if (outputLocation == 'dir') {
123+ flatDir {
124+ dirs '../../repos'
125+ }
126+ }
81127
82- }
128+ if (outputLocation == 'maven') {
129+ mavenDeployer {
130+ pom.artifactId = project.archivesBaseName + "-" + superversion
131+ repository(url: 'file://localhost/' + file('../../maven').getAbsolutePath())
132+ }
133+ }
134+
135+ }
83136 }
84137
85-// ★まとまったJarとしてフォルダ出力する場合
86-//jar {
87-// from configurations.compile.collect { it.isDirectory() ? it : zipTree(it) }
88-//}
138+// 依存Jarを同封
139+if (allInOne) {
140+ jar {
141+ from configurations.compile.collect { it.isDirectory() ? it : zipTree(it) }
142+ }
143+}
diff -r 78dde617cd4e -r 0a56b09adf49 projects/mirrg.event.nitrogen/src/main/java/mirrg/Dummy.java
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/projects/mirrg.event.nitrogen/src/main/java/mirrg/Dummy.java Tue Nov 17 07:56:49 2015 +0900
@@ -0,0 +1,6 @@
1+package mirrg;
2+
3+public class Dummy
4+{
5+
6+}
diff -r 78dde617cd4e -r 0a56b09adf49 projects/mirrg.event.nitrogen/src/main/java/mirrg/event/nitrogen/HNitrogenEvent.java
--- a/projects/mirrg.event.nitrogen/src/main/java/mirrg/event/nitrogen/HNitrogenEvent.java Sun Oct 18 13:09:22 2015 +0900
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,11 +0,0 @@
1-package mirrg.event.nitrogen;
2-
3-public class HNitrogenEvent
4-{
5-
6- public static INitrogenEventManager createInstance()
7- {
8- return new NitrogenEventManagerImpl();
9- }
10-
11-}
diff -r 78dde617cd4e -r 0a56b09adf49 projects/mirrg.event.nitrogen/src/main/java/mirrg/event/nitrogen/INitrogenEventManager.java
--- a/projects/mirrg.event.nitrogen/src/main/java/mirrg/event/nitrogen/INitrogenEventManager.java Sun Oct 18 13:09:22 2015 +0900
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,9 +0,0 @@
1-package mirrg.event.nitrogen;
2-
3-/**
4- * とてもシンプルなイベントマネージャです。
5- */
6-public interface INitrogenEventManager extends INitrogenEventRegistry, INitrogenEventReceiver
7-{
8-
9-}
diff -r 78dde617cd4e -r 0a56b09adf49 projects/mirrg.event.nitrogen/src/main/java/mirrg/event/nitrogen/INitrogenEventReceiver.java
--- a/projects/mirrg.event.nitrogen/src/main/java/mirrg/event/nitrogen/INitrogenEventReceiver.java Sun Oct 18 13:09:22 2015 +0900
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,12 +0,0 @@
1-package mirrg.event.nitrogen;
2-
3-public interface INitrogenEventReceiver
4-{
5-
6- /**
7- * 登録時のクラスがこのイベントと代入互換であるハンドラを、
8- * 登録時の順番に起動します。
9- */
10- public <E> void post(E event);
11-
12-}
diff -r 78dde617cd4e -r 0a56b09adf49 projects/mirrg.event.nitrogen/src/main/java/mirrg/event/nitrogen/INitrogenEventRegistry.java
--- a/projects/mirrg.event.nitrogen/src/main/java/mirrg/event/nitrogen/INitrogenEventRegistry.java Sun Oct 18 13:09:22 2015 +0900
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,28 +0,0 @@
1-package mirrg.event.nitrogen;
2-
3-import java.util.function.Consumer;
4-import java.util.function.Predicate;
5-
6-public interface INitrogenEventRegistry
7-{
8-
9- /**
10- * 登録した順番に呼び出されます。
11- */
12- public default <E> void register(Class<E> clazz, Consumer<E> handler)
13- {
14- registerRemovable(clazz, e -> {
15- handler.accept(e);
16- return true;
17- });
18- }
19-
20- /**
21- * 登録した順番に呼び出されます。
22- *
23- * @param handler
24- * falseを返した場合、このイベントハンドラは無効となります。
25- */
26- public <E> void registerRemovable(Class<E> clazz, Predicate<E> handler);
27-
28-}
diff -r 78dde617cd4e -r 0a56b09adf49 projects/mirrg.event.nitrogen/src/main/java/mirrg/event/nitrogen/NitrogenEventManagerImpl.java
--- a/projects/mirrg.event.nitrogen/src/main/java/mirrg/event/nitrogen/NitrogenEventManagerImpl.java Sun Oct 18 13:09:22 2015 +0900
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,36 +0,0 @@
1-package mirrg.event.nitrogen;
2-
3-import java.util.ArrayList;
4-import java.util.function.Predicate;
5-
6-class NitrogenEventManagerImpl implements INitrogenEventManager
7-{
8-
9- private ArrayList<Class<?>> classes = new ArrayList<>();
10- private ArrayList<Predicate<?>> handlers = new ArrayList<>();
11-
12- @Override
13- public <E> void registerRemovable(Class<E> clazz, Predicate<E> handler)
14- {
15- classes.add(clazz);
16- handlers.add(handler);
17- }
18-
19- @SuppressWarnings("unchecked")
20- @Override
21- public <E> void post(E event)
22- {
23- for (int i = 0; i < classes.size(); i++) {
24- if (classes.get(i).isInstance(event)) {
25-
26- if (!((Predicate<E>) handlers.get(i)).test(event)) {
27- classes.remove(i);
28- handlers.remove(i);
29- i--;
30- }
31-
32- }
33- }
34- }
35-
36-}
diff -r 78dde617cd4e -r 0a56b09adf49 projects/mirrg.event.nitrogen/src/main/java/mirrg/event/nitrogen/v2_0/HNitrogenEvent.java
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/projects/mirrg.event.nitrogen/src/main/java/mirrg/event/nitrogen/v2_0/HNitrogenEvent.java Tue Nov 17 07:56:49 2015 +0900
@@ -0,0 +1,11 @@
1+package mirrg.event.nitrogen.v2_0;
2+
3+public class HNitrogenEvent
4+{
5+
6+ public static INitrogenEventManager createInstance()
7+ {
8+ return new NitrogenEventManagerImpl();
9+ }
10+
11+}
diff -r 78dde617cd4e -r 0a56b09adf49 projects/mirrg.event.nitrogen/src/main/java/mirrg/event/nitrogen/v2_0/INitrogenEventManager.java
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/projects/mirrg.event.nitrogen/src/main/java/mirrg/event/nitrogen/v2_0/INitrogenEventManager.java Tue Nov 17 07:56:49 2015 +0900
@@ -0,0 +1,9 @@
1+package mirrg.event.nitrogen.v2_0;
2+
3+/**
4+ * とてもシンプルなイベントマネージャです。
5+ */
6+public interface INitrogenEventManager extends INitrogenEventRegistry, INitrogenEventReceiver
7+{
8+
9+}
diff -r 78dde617cd4e -r 0a56b09adf49 projects/mirrg.event.nitrogen/src/main/java/mirrg/event/nitrogen/v2_0/INitrogenEventReceiver.java
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/projects/mirrg.event.nitrogen/src/main/java/mirrg/event/nitrogen/v2_0/INitrogenEventReceiver.java Tue Nov 17 07:56:49 2015 +0900
@@ -0,0 +1,12 @@
1+package mirrg.event.nitrogen.v2_0;
2+
3+public interface INitrogenEventReceiver
4+{
5+
6+ /**
7+ * 登録時のクラスがこのイベントと代入互換であるハンドラを、
8+ * 登録時の順番に起動します。
9+ */
10+ public <E> void post(E event);
11+
12+}
diff -r 78dde617cd4e -r 0a56b09adf49 projects/mirrg.event.nitrogen/src/main/java/mirrg/event/nitrogen/v2_0/INitrogenEventRegistry.java
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/projects/mirrg.event.nitrogen/src/main/java/mirrg/event/nitrogen/v2_0/INitrogenEventRegistry.java Tue Nov 17 07:56:49 2015 +0900
@@ -0,0 +1,28 @@
1+package mirrg.event.nitrogen.v2_0;
2+
3+import java.util.function.Consumer;
4+import java.util.function.Predicate;
5+
6+public interface INitrogenEventRegistry
7+{
8+
9+ /**
10+ * 登録した順番に呼び出されます。
11+ */
12+ public default <E> void register(Class<E> clazz, Consumer<E> handler)
13+ {
14+ registerRemovable(clazz, e -> {
15+ handler.accept(e);
16+ return true;
17+ });
18+ }
19+
20+ /**
21+ * 登録した順番に呼び出されます。
22+ *
23+ * @param handler
24+ * falseを返した場合、このイベントハンドラは無効となります。
25+ */
26+ public <E> void registerRemovable(Class<E> clazz, Predicate<E> handler);
27+
28+}
diff -r 78dde617cd4e -r 0a56b09adf49 projects/mirrg.event.nitrogen/src/main/java/mirrg/event/nitrogen/v2_0/NitrogenEventManagerImpl.java
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/projects/mirrg.event.nitrogen/src/main/java/mirrg/event/nitrogen/v2_0/NitrogenEventManagerImpl.java Tue Nov 17 07:56:49 2015 +0900
@@ -0,0 +1,36 @@
1+package mirrg.event.nitrogen.v2_0;
2+
3+import java.util.ArrayList;
4+import java.util.function.Predicate;
5+
6+class NitrogenEventManagerImpl implements INitrogenEventManager
7+{
8+
9+ private ArrayList<Class<?>> classes = new ArrayList<>();
10+ private ArrayList<Predicate<?>> handlers = new ArrayList<>();
11+
12+ @Override
13+ public <E> void registerRemovable(Class<E> clazz, Predicate<E> handler)
14+ {
15+ classes.add(clazz);
16+ handlers.add(handler);
17+ }
18+
19+ @SuppressWarnings("unchecked")
20+ @Override
21+ public <E> void post(E event)
22+ {
23+ for (int i = 0; i < classes.size(); i++) {
24+ if (classes.get(i).isInstance(event)) {
25+
26+ if (!((Predicate<E>) handlers.get(i)).test(event)) {
27+ classes.remove(i);
28+ handlers.remove(i);
29+ i--;
30+ }
31+
32+ }
33+ }
34+ }
35+
36+}
diff -r 78dde617cd4e -r 0a56b09adf49 projects/mirrg.event.nitrogen/src/main/resources/org/gradle/resource.xml
--- a/projects/mirrg.event.nitrogen/src/main/resources/org/gradle/resource.xml Sun Oct 18 13:09:22 2015 +0900
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,1 +0,0 @@
1-<some-element/>
diff -r 78dde617cd4e -r 0a56b09adf49 projects/mirrg.event.nitrogen/src/test/java/mirrg/DummyTest.java
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/projects/mirrg.event.nitrogen/src/test/java/mirrg/DummyTest.java Tue Nov 17 07:56:49 2015 +0900
@@ -0,0 +1,6 @@
1+package mirrg;
2+
3+public class DummyTest
4+{
5+
6+}
diff -r 78dde617cd4e -r 0a56b09adf49 projects/mirrg.event.nitrogen/src/test/java/mirrg/event/nitrogen/test/TestNitrogenEvent.java
--- a/projects/mirrg.event.nitrogen/src/test/java/mirrg/event/nitrogen/test/TestNitrogenEvent.java Sun Oct 18 13:09:22 2015 +0900
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,149 +0,0 @@
1-package mirrg.event.nitrogen.test;
2-
3-import static org.junit.Assert.*;
4-
5-import java.util.function.Predicate;
6-
7-import org.junit.Test;
8-
9-import mirrg.event.nitrogen.HNitrogenEvent;
10-import mirrg.event.nitrogen.INitrogenEventManager;
11-
12-public class TestNitrogenEvent
13-{
14-
15- @Test
16- public void test()
17- {
18- String[] message = {
19- "",
20- };
21-
22- INitrogenEventManager nitrogenEventManager = HNitrogenEvent.createInstance();
23- nitrogenEventManager.register(Integer.class, event -> {
24- message[0] += event;
25- });
26-
27- nitrogenEventManager.post(Integer.valueOf(4));
28- assertEquals("4", message[0]);
29- }
30-
31- @Test
32- public void test2()
33- {
34- String[] message = {
35- "",
36- };
37-
38- INitrogenEventManager nitrogenEventManager = HNitrogenEvent.createInstance();
39- nitrogenEventManager.register(Integer.class, event -> {
40- message[0] += event;
41- });
42- nitrogenEventManager.register(String.class, event -> {
43- message[0] += event;
44- });
45-
46- nitrogenEventManager.post(Integer.valueOf(4));
47- assertEquals("4", message[0]);
48-
49- nitrogenEventManager.post("G");
50- assertEquals("4G", message[0]);
51-
52- }
53-
54- @Test
55- public void test3()
56- {
57- String[] message = {
58- "",
59- };
60-
61- INitrogenEventManager nitrogenEventManager = HNitrogenEvent.createInstance();
62- nitrogenEventManager.register(Integer.class, event -> {
63- message[0] += "I";
64- });
65- nitrogenEventManager.register(String.class, event -> {
66- message[0] += "S";
67- });
68- nitrogenEventManager.register(Double.class, event -> {
69- message[0] += "D";
70- });
71- nitrogenEventManager.register(Number.class, event -> {
72- message[0] += "N";
73- });
74-
75- nitrogenEventManager.post(Integer.valueOf(4));
76- assertEquals("IN", message[0]);
77-
78- nitrogenEventManager.post("G");
79- assertEquals("INS", message[0]);
80-
81- nitrogenEventManager.post((Object) Integer.valueOf(4));
82- assertEquals("INSIN", message[0]);
83-
84- nitrogenEventManager.post(Double.valueOf(4));
85- assertEquals("INSINDN", message[0]);
86-
87- }
88-
89- @Test
90- public void test4()
91- {
92- String[] message = {
93- "",
94- };
95-
96- INitrogenEventManager nitrogenEventManager = HNitrogenEvent.createInstance();
97-
98- nitrogenEventManager.post(new Object());
99- assertEquals("", message[0]);
100-
101- nitrogenEventManager.register(Object.class, event -> {
102- message[0] += "A";
103- });
104-
105- nitrogenEventManager.post(new Object());
106- assertEquals("A", message[0]);
107-
108- nitrogenEventManager.registerRemovable(Object.class, event -> {
109- message[0] += "B";
110- return false;
111- });
112-
113- nitrogenEventManager.post(new Object());
114- assertEquals("AAB", message[0]);
115-
116- nitrogenEventManager.registerRemovable(Object.class, new Predicate<Object>() {
117-
118- private boolean first = true;
119-
120- @Override
121- public boolean test(Object event)
122- {
123- message[0] += "C";
124-
125- if (first) {
126- first = false;
127- return true;
128- } else {
129- return false;
130- }
131- }
132-
133- });
134-
135- nitrogenEventManager.post(new Object());
136- assertEquals("AABAC", message[0]);
137-
138- nitrogenEventManager.post(new Object());
139- assertEquals("AABACAC", message[0]);
140-
141- nitrogenEventManager.post(new Object());
142- assertEquals("AABACACA", message[0]);
143-
144- nitrogenEventManager.post(new Object());
145- assertEquals("AABACACAA", message[0]);
146-
147- }
148-
149-}
diff -r 78dde617cd4e -r 0a56b09adf49 projects/mirrg.event.nitrogen/src/test/java/mirrg/event/nitrogen/v2_0/TestNitrogenEvent.java
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/projects/mirrg.event.nitrogen/src/test/java/mirrg/event/nitrogen/v2_0/TestNitrogenEvent.java Tue Nov 17 07:56:49 2015 +0900
@@ -0,0 +1,149 @@
1+package mirrg.event.nitrogen.v2_0;
2+
3+import static org.junit.Assert.*;
4+
5+import java.util.function.Predicate;
6+
7+import org.junit.Test;
8+
9+import mirrg.event.nitrogen.v2_0.HNitrogenEvent;
10+import mirrg.event.nitrogen.v2_0.INitrogenEventManager;
11+
12+public class TestNitrogenEvent
13+{
14+
15+ @Test
16+ public void test()
17+ {
18+ String[] message = {
19+ "",
20+ };
21+
22+ INitrogenEventManager nitrogenEventManager = HNitrogenEvent.createInstance();
23+ nitrogenEventManager.register(Integer.class, event -> {
24+ message[0] += event;
25+ });
26+
27+ nitrogenEventManager.post(Integer.valueOf(4));
28+ assertEquals("4", message[0]);
29+ }
30+
31+ @Test
32+ public void test2()
33+ {
34+ String[] message = {
35+ "",
36+ };
37+
38+ INitrogenEventManager nitrogenEventManager = HNitrogenEvent.createInstance();
39+ nitrogenEventManager.register(Integer.class, event -> {
40+ message[0] += event;
41+ });
42+ nitrogenEventManager.register(String.class, event -> {
43+ message[0] += event;
44+ });
45+
46+ nitrogenEventManager.post(Integer.valueOf(4));
47+ assertEquals("4", message[0]);
48+
49+ nitrogenEventManager.post("G");
50+ assertEquals("4G", message[0]);
51+
52+ }
53+
54+ @Test
55+ public void test3()
56+ {
57+ String[] message = {
58+ "",
59+ };
60+
61+ INitrogenEventManager nitrogenEventManager = HNitrogenEvent.createInstance();
62+ nitrogenEventManager.register(Integer.class, event -> {
63+ message[0] += "I";
64+ });
65+ nitrogenEventManager.register(String.class, event -> {
66+ message[0] += "S";
67+ });
68+ nitrogenEventManager.register(Double.class, event -> {
69+ message[0] += "D";
70+ });
71+ nitrogenEventManager.register(Number.class, event -> {
72+ message[0] += "N";
73+ });
74+
75+ nitrogenEventManager.post(Integer.valueOf(4));
76+ assertEquals("IN", message[0]);
77+
78+ nitrogenEventManager.post("G");
79+ assertEquals("INS", message[0]);
80+
81+ nitrogenEventManager.post((Object) Integer.valueOf(4));
82+ assertEquals("INSIN", message[0]);
83+
84+ nitrogenEventManager.post(Double.valueOf(4));
85+ assertEquals("INSINDN", message[0]);
86+
87+ }
88+
89+ @Test
90+ public void test4()
91+ {
92+ String[] message = {
93+ "",
94+ };
95+
96+ INitrogenEventManager nitrogenEventManager = HNitrogenEvent.createInstance();
97+
98+ nitrogenEventManager.post(new Object());
99+ assertEquals("", message[0]);
100+
101+ nitrogenEventManager.register(Object.class, event -> {
102+ message[0] += "A";
103+ });
104+
105+ nitrogenEventManager.post(new Object());
106+ assertEquals("A", message[0]);
107+
108+ nitrogenEventManager.registerRemovable(Object.class, event -> {
109+ message[0] += "B";
110+ return false;
111+ });
112+
113+ nitrogenEventManager.post(new Object());
114+ assertEquals("AAB", message[0]);
115+
116+ nitrogenEventManager.registerRemovable(Object.class, new Predicate<Object>() {
117+
118+ private boolean first = true;
119+
120+ @Override
121+ public boolean test(Object event)
122+ {
123+ message[0] += "C";
124+
125+ if (first) {
126+ first = false;
127+ return true;
128+ } else {
129+ return false;
130+ }
131+ }
132+
133+ });
134+
135+ nitrogenEventManager.post(new Object());
136+ assertEquals("AABAC", message[0]);
137+
138+ nitrogenEventManager.post(new Object());
139+ assertEquals("AABACAC", message[0]);
140+
141+ nitrogenEventManager.post(new Object());
142+ assertEquals("AABACACA", message[0]);
143+
144+ nitrogenEventManager.post(new Object());
145+ assertEquals("AABACACAA", message[0]);
146+
147+ }
148+
149+}
diff -r 78dde617cd4e -r 0a56b09adf49 projects/mirrg.event.nitrogen/src/test/resources/org/gradle/test-resource.xml
--- a/projects/mirrg.event.nitrogen/src/test/resources/org/gradle/test-resource.xml Sun Oct 18 13:09:22 2015 +0900
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,1 +0,0 @@
1-<some-resource/>