annotate src/main/java/jp/ac/u_ryukyu/ie/cr/shoshi/jungle/util/DefaultEither.java @ 39:7d78bbf4a9cd

added some tests
author Shoshi TAMAKI
date Tue, 29 Jan 2013 01:11:17 +0900
parents 3ef2a66a8c5d
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
22
9fd57b7c6adb added Either
Shoshi TAMAKI
parents:
diff changeset
1 package jp.ac.u_ryukyu.ie.cr.shoshi.jungle.util;
9fd57b7c6adb added Either
Shoshi TAMAKI
parents:
diff changeset
2
9fd57b7c6adb added Either
Shoshi TAMAKI
parents:
diff changeset
3 public class DefaultEither<A,B> implements Either<A,B>
9fd57b7c6adb added Either
Shoshi TAMAKI
parents:
diff changeset
4 {
9fd57b7c6adb added Either
Shoshi TAMAKI
parents:
diff changeset
5 private final A theA;
9fd57b7c6adb added Either
Shoshi TAMAKI
parents:
diff changeset
6 private final B theB;
9fd57b7c6adb added Either
Shoshi TAMAKI
parents:
diff changeset
7
23
Shoshi TAMAKI
parents: 22
diff changeset
8 private DefaultEither(A _theA,B _theB)
22
9fd57b7c6adb added Either
Shoshi TAMAKI
parents:
diff changeset
9 {
9fd57b7c6adb added Either
Shoshi TAMAKI
parents:
diff changeset
10 theA = _theA;
23
Shoshi TAMAKI
parents: 22
diff changeset
11 theB = _theB;
Shoshi TAMAKI
parents: 22
diff changeset
12 }
Shoshi TAMAKI
parents: 22
diff changeset
13
Shoshi TAMAKI
parents: 22
diff changeset
14 public static final <A,B> DefaultEither<A,B> newA(A _theA)
Shoshi TAMAKI
parents: 22
diff changeset
15 {
Shoshi TAMAKI
parents: 22
diff changeset
16 return new DefaultEither<A,B>(_theA,null);
Shoshi TAMAKI
parents: 22
diff changeset
17 }
Shoshi TAMAKI
parents: 22
diff changeset
18
Shoshi TAMAKI
parents: 22
diff changeset
19 public static final <A,B> DefaultEither<A,B> newB(B _theB)
Shoshi TAMAKI
parents: 22
diff changeset
20 {
Shoshi TAMAKI
parents: 22
diff changeset
21 return new DefaultEither<A,B>(null,_theB);
22
9fd57b7c6adb added Either
Shoshi TAMAKI
parents:
diff changeset
22 }
9fd57b7c6adb added Either
Shoshi TAMAKI
parents:
diff changeset
23
9fd57b7c6adb added Either
Shoshi TAMAKI
parents:
diff changeset
24 @Override
9fd57b7c6adb added Either
Shoshi TAMAKI
parents:
diff changeset
25 public A a()
9fd57b7c6adb added Either
Shoshi TAMAKI
parents:
diff changeset
26 {
9fd57b7c6adb added Either
Shoshi TAMAKI
parents:
diff changeset
27 return theA;
9fd57b7c6adb added Either
Shoshi TAMAKI
parents:
diff changeset
28 }
9fd57b7c6adb added Either
Shoshi TAMAKI
parents:
diff changeset
29
9fd57b7c6adb added Either
Shoshi TAMAKI
parents:
diff changeset
30 @Override
9fd57b7c6adb added Either
Shoshi TAMAKI
parents:
diff changeset
31 public boolean isA()
9fd57b7c6adb added Either
Shoshi TAMAKI
parents:
diff changeset
32 {
39
7d78bbf4a9cd added some tests
Shoshi TAMAKI
parents: 23
diff changeset
33 return theA != null;
22
9fd57b7c6adb added Either
Shoshi TAMAKI
parents:
diff changeset
34 }
9fd57b7c6adb added Either
Shoshi TAMAKI
parents:
diff changeset
35
9fd57b7c6adb added Either
Shoshi TAMAKI
parents:
diff changeset
36 @Override
9fd57b7c6adb added Either
Shoshi TAMAKI
parents:
diff changeset
37 public B b()
9fd57b7c6adb added Either
Shoshi TAMAKI
parents:
diff changeset
38 {
9fd57b7c6adb added Either
Shoshi TAMAKI
parents:
diff changeset
39 return theB;
9fd57b7c6adb added Either
Shoshi TAMAKI
parents:
diff changeset
40 }
9fd57b7c6adb added Either
Shoshi TAMAKI
parents:
diff changeset
41
9fd57b7c6adb added Either
Shoshi TAMAKI
parents:
diff changeset
42 @Override
9fd57b7c6adb added Either
Shoshi TAMAKI
parents:
diff changeset
43 public boolean isB()
9fd57b7c6adb added Either
Shoshi TAMAKI
parents:
diff changeset
44 {
39
7d78bbf4a9cd added some tests
Shoshi TAMAKI
parents: 23
diff changeset
45 return theB != null;
22
9fd57b7c6adb added Either
Shoshi TAMAKI
parents:
diff changeset
46 }
9fd57b7c6adb added Either
Shoshi TAMAKI
parents:
diff changeset
47 }