Skip to content

Commit 3c57bf7

Browse files
committed
iluwatar#984 iluwatar#987 update readmes
1 parent 33ea733 commit 3c57bf7

File tree

2 files changed

+58
-33
lines changed

2 files changed

+58
-33
lines changed

chain/README.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -135,7 +135,7 @@ public class OrcKing {
135135
Then it is used as follows
136136

137137
```java
138-
OrcKing king = new OrcKing();
138+
var king = new OrcKing();
139139
king.makeRequest(new Request(RequestType.DEFEND_CASTLE, "defend castle")); // Orc commander handling request "defend castle"
140140
king.makeRequest(new Request(RequestType.TORTURE_PRISONER, "torture prisoner")); // Orc officer handling request "torture prisoner"
141141
king.makeRequest(new Request(RequestType.COLLECT_TAX, "collect tax")); // Orc soldier handling request "collect tax"

composite/README.md

+57-32
Original file line numberDiff line numberDiff line change
@@ -35,53 +35,68 @@ Taking our sentence example from above. Here we have the base class and differen
3535

3636
```java
3737
public abstract class LetterComposite {
38+
3839
private List<LetterComposite> children = new ArrayList<>();
40+
3941
public void add(LetterComposite letter) {
4042
children.add(letter);
4143
}
44+
4245
public int count() {
4346
return children.size();
4447
}
45-
protected void printThisBefore() {}
46-
protected void printThisAfter() {}
48+
49+
protected void printThisBefore() {
50+
}
51+
52+
protected void printThisAfter() {
53+
}
54+
4755
public void print() {
4856
printThisBefore();
49-
for (LetterComposite letter : children) {
50-
letter.print();
51-
}
57+
children.forEach(LetterComposite::print);
5258
printThisAfter();
5359
}
5460
}
5561

5662
public class Letter extends LetterComposite {
57-
private char c;
63+
64+
private char character;
65+
5866
public Letter(char c) {
59-
this.c = c;
67+
this.character = c;
6068
}
69+
6170
@Override
6271
protected void printThisBefore() {
63-
System.out.print(c);
72+
System.out.print(character);
6473
}
6574
}
6675

6776
public class Word extends LetterComposite {
77+
6878
public Word(List<Letter> letters) {
69-
for (Letter l : letters) {
70-
this.add(l);
79+
letters.forEach(this::add);
80+
}
81+
82+
public Word(char... letters) {
83+
for (char letter : letters) {
84+
this.add(new Letter(letter));
7185
}
7286
}
87+
7388
@Override
7489
protected void printThisBefore() {
7590
System.out.print(" ");
7691
}
7792
}
7893

7994
public class Sentence extends LetterComposite {
95+
8096
public Sentence(List<Word> words) {
81-
for (Word w : words) {
82-
this.add(w);
83-
}
97+
words.forEach(this::add);
8498
}
99+
85100
@Override
86101
protected void printThisAfter() {
87102
System.out.print(".");
@@ -93,39 +108,49 @@ Then we have a messenger to carry messages
93108

94109
```java
95110
public class Messenger {
111+
96112
LetterComposite messageFromOrcs() {
97-
List<Word> words = List.of(
98-
new Word(List.of(new Letter('W'), new Letter('h'), new Letter('e'), new Letter('r'), new Letter('e'))),
99-
new Word(List.of(new Letter('t'), new Letter('h'), new Letter('e'), new Letter('r'), new Letter('e'))),
100-
new Word(List.of(new Letter('i'), new Letter('s'))),
101-
new Word(List.of(new Letter('a'))),
102-
new Word(List.of(new Letter('w'), new Letter('h'), new Letter('i'), new Letter('p'))),
103-
new Word(List.of(new Letter('t'), new Letter('h'), new Letter('e'), new Letter('r'), new Letter('e'))),
104-
new Word(List.of(new Letter('i'), new Letter('s'))),
105-
new Word(List.of(new Letter('a'))),
106-
new Word(List.of(new Letter('w'), new Letter('a'), new Letter('y'))));
113+
114+
var words = List.of(
115+
new Word('W', 'h', 'e', 'r', 'e'),
116+
new Word('t', 'h', 'e', 'r', 'e'),
117+
new Word('i', 's'),
118+
new Word('a'),
119+
new Word('w', 'h', 'i', 'p'),
120+
new Word('t', 'h', 'e', 'r', 'e'),
121+
new Word('i', 's'),
122+
new Word('a'),
123+
new Word('w', 'a', 'y')
124+
);
125+
107126
return new Sentence(words);
127+
108128
}
109129

110130
LetterComposite messageFromElves() {
111-
List<Word> words = List.of(
112-
new Word(List.of(new Letter('M'), new Letter('u'), new Letter('c'), new Letter('h'))),
113-
new Word(List.of(new Letter('w'), new Letter('i'), new Letter('n'), new Letter('d'))),
114-
new Word(List.of(new Letter('p'), new Letter('o'), new Letter('u'), new Letter('r'), new Letter('s'))),
115-
new Word(List.of(new Letter('f'), new Letter('r'), new Letter('o'), new Letter('m'))),
116-
new Word(List.of(new Letter('y'), new Letter('o'), new Letter('u'), new Letter('r'))),
117-
new Word(List.of(new Letter('m'), new Letter('o'), new Letter('u'), new Letter('t'), new Letter('h'))));
131+
132+
var words = List.of(
133+
new Word('M', 'u', 'c', 'h'),
134+
new Word('w', 'i', 'n', 'd'),
135+
new Word('p', 'o', 'u', 'r', 's'),
136+
new Word('f', 'r', 'o', 'm'),
137+
new Word('y', 'o', 'u', 'r'),
138+
new Word('m', 'o', 'u', 't', 'h')
139+
);
140+
118141
return new Sentence(words);
142+
119143
}
144+
120145
}
121146
```
122147

123148
And then it can be used as
124149

125150
```java
126-
LetterComposite orcMessage = new Messenger().messageFromOrcs();
151+
var orcMessage = new Messenger().messageFromOrcs();
127152
orcMessage.print(); // Where there is a whip there is a way.
128-
LetterComposite elfMessage = new Messenger().messageFromElves();
153+
var elfMessage = new Messenger().messageFromElves();
129154
elfMessage.print(); // Much wind pours from your mouth.
130155
```
131156

0 commit comments

Comments
 (0)