修訂 | 0a56b09adf49445ae98286d8b3997ce9d26f3844 (tree) |
---|---|
時間 | 2015-11-17 07:56:49 |
作者 | MirrgieRiana |
Commiter | MirrgieRiana |
mirrg.event.nitrogen: update: template
@@ -2,87 +2,142 @@ | ||
2 | 2 | apply plugin: 'eclipse' |
3 | 3 | apply plugin: 'maven' |
4 | 4 | |
5 | -/////////////////////////////////// | |
5 | +////////////////////////////////////////////////////////////////////// | |
6 | 6 | |
7 | +// ★グループId | |
7 | 8 | project.group = 'mirrg' |
9 | + | |
10 | +// ★成果物のID | |
8 | 11 | project.archivesBaseName = 'mirrg.event.nitrogen' |
9 | 12 | |
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' // 破壊的でないバージョン変更 | |
30 | 16 | |
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 { | |
45 | 19 | |
46 | -artifacts { | |
47 | - archives sourcesJar | |
48 | - archives javadocJar | |
49 | -} | |
20 | + testCompile group: 'junit', name: 'junit', version: '4.+' | |
50 | 21 | |
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: '+' | |
61 | 24 | |
62 | 25 | } |
63 | 26 | |
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 | + | |
66 | 110 | } |
67 | 111 | |
68 | -uploadArchives { | |
69 | - repositories { | |
112 | +/* | |
113 | +test { | |
114 | + systemProperties 'property': 'value' | |
115 | +} | |
116 | +*/ | |
70 | 117 | |
71 | - // ★まとまったJarとしてフォルダ出力する場合 | |
72 | - //flatDir { | |
73 | - // dirs 'repos' | |
74 | - //} | |
118 | +// 成果物の出力先 | |
119 | +uploadArchives { | |
120 | + repositories { | |
75 | 121 | |
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 | + } | |
81 | 127 | |
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 | + } | |
83 | 136 | } |
84 | 137 | |
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 | +} |
@@ -0,0 +1,6 @@ | ||
1 | +package mirrg; | |
2 | + | |
3 | +public class Dummy | |
4 | +{ | |
5 | + | |
6 | +} |
@@ -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 | -} |
@@ -1,9 +0,0 @@ | ||
1 | -package mirrg.event.nitrogen; | |
2 | - | |
3 | -/** | |
4 | - * とてもシンプルなイベントマネージャです。 | |
5 | - */ | |
6 | -public interface INitrogenEventManager extends INitrogenEventRegistry, INitrogenEventReceiver | |
7 | -{ | |
8 | - | |
9 | -} |
@@ -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 | -} |
@@ -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 | -} |
@@ -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 | -} |
@@ -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 | +} |
@@ -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 | +} |
@@ -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 | +} |
@@ -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 | +} |
@@ -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 | +} |
@@ -1,1 +0,0 @@ | ||
1 | -<some-element/> |
@@ -0,0 +1,6 @@ | ||
1 | +package mirrg; | |
2 | + | |
3 | +public class DummyTest | |
4 | +{ | |
5 | + | |
6 | +} |
@@ -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 | -} |
@@ -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 | +} |
@@ -1,1 +0,0 @@ | ||
1 | -<some-resource/> |