Skip to content

Commit e7b6542

Browse files
committed
Reformat bridge design pattern - Issue iluwatar#224
1 parent 16a8c85 commit e7b6542

13 files changed

+176
-186
lines changed

bridge/src/main/java/com/iluwatar/bridge/App.java

Lines changed: 27 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -2,41 +2,38 @@
22

33
/**
44
*
5-
* The Bridge pattern can also be thought of as two layers of abstraction. With Bridge,
6-
* you can decouple an abstraction from its implementation so that the two can vary independently.
5+
* The Bridge pattern can also be thought of as two layers of abstraction. With Bridge, you can
6+
* decouple an abstraction from its implementation so that the two can vary independently.
77
* <p>
8-
* In Bridge pattern both abstraction ({@link MagicWeapon}) and implementation
9-
* ({@link MagicWeaponImpl}) have their own class hierarchies. The interface of the
10-
* implementations can be changed without affecting the clients.
8+
* In Bridge pattern both abstraction ({@link MagicWeapon}) and implementation (
9+
* {@link MagicWeaponImpl}) have their own class hierarchies. The interface of the implementations
10+
* can be changed without affecting the clients.
1111
*
1212
*/
1313
public class App {
1414

15-
/**
16-
* Program entry point
17-
* @param args command line args
18-
*/
19-
public static void main(String[] args) {
20-
BlindingMagicWeapon blindingMagicWeapon = new BlindingMagicWeapon(
21-
new Excalibur());
22-
blindingMagicWeapon.wield();
23-
blindingMagicWeapon.blind();
24-
blindingMagicWeapon.swing();
25-
blindingMagicWeapon.unwield();
15+
/**
16+
* Program entry point
17+
*
18+
* @param args command line args
19+
*/
20+
public static void main(String[] args) {
21+
BlindingMagicWeapon blindingMagicWeapon = new BlindingMagicWeapon(new Excalibur());
22+
blindingMagicWeapon.wield();
23+
blindingMagicWeapon.blind();
24+
blindingMagicWeapon.swing();
25+
blindingMagicWeapon.unwield();
2626

27-
FlyingMagicWeapon flyingMagicWeapon = new FlyingMagicWeapon(
28-
new Mjollnir());
29-
flyingMagicWeapon.wield();
30-
flyingMagicWeapon.fly();
31-
flyingMagicWeapon.swing();
32-
flyingMagicWeapon.unwield();
27+
FlyingMagicWeapon flyingMagicWeapon = new FlyingMagicWeapon(new Mjollnir());
28+
flyingMagicWeapon.wield();
29+
flyingMagicWeapon.fly();
30+
flyingMagicWeapon.swing();
31+
flyingMagicWeapon.unwield();
3332

34-
SoulEatingMagicWeapon soulEatingMagicWeapon = new SoulEatingMagicWeapon(
35-
new Stormbringer());
36-
soulEatingMagicWeapon.wield();
37-
soulEatingMagicWeapon.swing();
38-
soulEatingMagicWeapon.eatSoul();
39-
soulEatingMagicWeapon.unwield();
40-
41-
}
33+
SoulEatingMagicWeapon soulEatingMagicWeapon = new SoulEatingMagicWeapon(new Stormbringer());
34+
soulEatingMagicWeapon.wield();
35+
soulEatingMagicWeapon.swing();
36+
soulEatingMagicWeapon.eatSoul();
37+
soulEatingMagicWeapon.unwield();
38+
}
4239
}

bridge/src/main/java/com/iluwatar/bridge/BlindingMagicWeapon.java

Lines changed: 27 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -7,32 +7,31 @@
77
*/
88
public class BlindingMagicWeapon extends MagicWeapon {
99

10-
public BlindingMagicWeapon(BlindingMagicWeaponImpl imp) {
11-
super(imp);
12-
}
13-
14-
@Override
15-
public BlindingMagicWeaponImpl getImp() {
16-
return (BlindingMagicWeaponImpl) imp;
17-
}
18-
19-
@Override
20-
public void wield() {
21-
getImp().wieldImp();
22-
}
23-
24-
@Override
25-
public void swing() {
26-
getImp().swingImp();
27-
}
28-
29-
@Override
30-
public void unwield() {
31-
getImp().unwieldImp();
32-
}
33-
34-
public void blind() {
35-
getImp().blindImp();
36-
}
37-
10+
public BlindingMagicWeapon(BlindingMagicWeaponImpl imp) {
11+
super(imp);
12+
}
13+
14+
@Override
15+
public BlindingMagicWeaponImpl getImp() {
16+
return (BlindingMagicWeaponImpl) imp;
17+
}
18+
19+
@Override
20+
public void wield() {
21+
getImp().wieldImp();
22+
}
23+
24+
@Override
25+
public void swing() {
26+
getImp().swingImp();
27+
}
28+
29+
@Override
30+
public void unwield() {
31+
getImp().unwieldImp();
32+
}
33+
34+
public void blind() {
35+
getImp().blindImp();
36+
}
3837
}

bridge/src/main/java/com/iluwatar/bridge/BlindingMagicWeaponImpl.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,6 @@
77
*/
88
public abstract class BlindingMagicWeaponImpl extends MagicWeaponImpl {
99

10-
public abstract void blindImp();
10+
public abstract void blindImp();
1111

1212
}

bridge/src/main/java/com/iluwatar/bridge/Excalibur.java

Lines changed: 16 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -7,25 +7,23 @@
77
*/
88
public class Excalibur extends BlindingMagicWeaponImpl {
99

10-
@Override
11-
public void wieldImp() {
12-
System.out.println("wielding Excalibur");
13-
}
10+
@Override
11+
public void wieldImp() {
12+
System.out.println("wielding Excalibur");
13+
}
1414

15-
@Override
16-
public void swingImp() {
17-
System.out.println("swinging Excalibur");
18-
}
15+
@Override
16+
public void swingImp() {
17+
System.out.println("swinging Excalibur");
18+
}
1919

20-
@Override
21-
public void unwieldImp() {
22-
System.out.println("unwielding Excalibur");
23-
}
24-
25-
@Override
26-
public void blindImp() {
27-
System.out
28-
.println("bright light streams from Excalibur blinding the enemy");
29-
}
20+
@Override
21+
public void unwieldImp() {
22+
System.out.println("unwielding Excalibur");
23+
}
3024

25+
@Override
26+
public void blindImp() {
27+
System.out.println("bright light streams from Excalibur blinding the enemy");
28+
}
3129
}

bridge/src/main/java/com/iluwatar/bridge/FlyingMagicWeapon.java

Lines changed: 26 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -7,31 +7,31 @@
77
*/
88
public class FlyingMagicWeapon extends MagicWeapon {
99

10-
public FlyingMagicWeapon(FlyingMagicWeaponImpl imp) {
11-
super(imp);
12-
}
13-
14-
public FlyingMagicWeaponImpl getImp() {
15-
return (FlyingMagicWeaponImpl) imp;
16-
}
17-
18-
@Override
19-
public void wield() {
20-
getImp().wieldImp();
21-
}
22-
23-
@Override
24-
public void swing() {
25-
getImp().swingImp();
26-
}
27-
28-
@Override
29-
public void unwield() {
30-
getImp().unwieldImp();
31-
}
32-
33-
public void fly() {
34-
getImp().flyImp();
35-
}
10+
public FlyingMagicWeapon(FlyingMagicWeaponImpl imp) {
11+
super(imp);
12+
}
13+
14+
public FlyingMagicWeaponImpl getImp() {
15+
return (FlyingMagicWeaponImpl) imp;
16+
}
17+
18+
@Override
19+
public void wield() {
20+
getImp().wieldImp();
21+
}
22+
23+
@Override
24+
public void swing() {
25+
getImp().swingImp();
26+
}
27+
28+
@Override
29+
public void unwield() {
30+
getImp().unwieldImp();
31+
}
32+
33+
public void fly() {
34+
getImp().flyImp();
35+
}
3636

3737
}

bridge/src/main/java/com/iluwatar/bridge/FlyingMagicWeaponImpl.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,6 @@
77
*/
88
public abstract class FlyingMagicWeaponImpl extends MagicWeaponImpl {
99

10-
public abstract void flyImp();
10+
public abstract void flyImp();
1111

1212
}

bridge/src/main/java/com/iluwatar/bridge/MagicWeapon.java

Lines changed: 10 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -7,20 +7,19 @@
77
*/
88
public abstract class MagicWeapon {
99

10-
protected MagicWeaponImpl imp;
10+
protected MagicWeaponImpl imp;
1111

12-
public MagicWeapon(MagicWeaponImpl imp) {
13-
this.imp = imp;
14-
}
12+
public MagicWeapon(MagicWeaponImpl imp) {
13+
this.imp = imp;
14+
}
1515

16-
public abstract void wield();
16+
public abstract void wield();
1717

18-
public abstract void swing();
18+
public abstract void swing();
1919

20-
public abstract void unwield();
21-
22-
public MagicWeaponImpl getImp() {
23-
return imp;
24-
}
20+
public abstract void unwield();
2521

22+
public MagicWeaponImpl getImp() {
23+
return imp;
24+
}
2625
}

bridge/src/main/java/com/iluwatar/bridge/MagicWeaponImpl.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -7,10 +7,10 @@
77
*/
88
public abstract class MagicWeaponImpl {
99

10-
public abstract void wieldImp();
10+
public abstract void wieldImp();
1111

12-
public abstract void swingImp();
12+
public abstract void swingImp();
1313

14-
public abstract void unwieldImp();
14+
public abstract void unwieldImp();
1515

1616
}

bridge/src/main/java/com/iluwatar/bridge/Mjollnir.java

Lines changed: 16 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -7,25 +7,23 @@
77
*/
88
public class Mjollnir extends FlyingMagicWeaponImpl {
99

10-
@Override
11-
public void wieldImp() {
12-
System.out.println("wielding Mjollnir");
13-
}
10+
@Override
11+
public void wieldImp() {
12+
System.out.println("wielding Mjollnir");
13+
}
1414

15-
@Override
16-
public void swingImp() {
17-
System.out.println("swinging Mjollnir");
18-
}
15+
@Override
16+
public void swingImp() {
17+
System.out.println("swinging Mjollnir");
18+
}
1919

20-
@Override
21-
public void unwieldImp() {
22-
System.out.println("unwielding Mjollnir");
23-
}
24-
25-
@Override
26-
public void flyImp() {
27-
System.out
28-
.println("Mjollnir hits the enemy in the air and returns back to the owner's hand");
29-
}
20+
@Override
21+
public void unwieldImp() {
22+
System.out.println("unwielding Mjollnir");
23+
}
3024

25+
@Override
26+
public void flyImp() {
27+
System.out.println("Mjollnir hits the enemy in the air and returns back to the owner's hand");
28+
}
3129
}

bridge/src/main/java/com/iluwatar/bridge/SoulEatingMagicWeapon.java

Lines changed: 27 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -7,32 +7,32 @@
77
*/
88
public class SoulEatingMagicWeapon extends MagicWeapon {
99

10-
public SoulEatingMagicWeapon(SoulEatingMagicWeaponImpl imp) {
11-
super(imp);
12-
}
13-
14-
@Override
15-
public SoulEatingMagicWeaponImpl getImp() {
16-
return (SoulEatingMagicWeaponImpl) imp;
17-
}
18-
19-
@Override
20-
public void wield() {
21-
getImp().wieldImp();
22-
}
23-
24-
@Override
25-
public void swing() {
26-
getImp().swingImp();
27-
}
28-
29-
@Override
30-
public void unwield() {
31-
getImp().unwieldImp();
32-
}
33-
34-
public void eatSoul() {
35-
getImp().eatSoulImp();
36-
}
10+
public SoulEatingMagicWeapon(SoulEatingMagicWeaponImpl imp) {
11+
super(imp);
12+
}
13+
14+
@Override
15+
public SoulEatingMagicWeaponImpl getImp() {
16+
return (SoulEatingMagicWeaponImpl) imp;
17+
}
18+
19+
@Override
20+
public void wield() {
21+
getImp().wieldImp();
22+
}
23+
24+
@Override
25+
public void swing() {
26+
getImp().swingImp();
27+
}
28+
29+
@Override
30+
public void unwield() {
31+
getImp().unwieldImp();
32+
}
33+
34+
public void eatSoul() {
35+
getImp().eatSoulImp();
36+
}
3737

3838
}

bridge/src/main/java/com/iluwatar/bridge/SoulEatingMagicWeaponImpl.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,6 @@
77
*/
88
public abstract class SoulEatingMagicWeaponImpl extends MagicWeaponImpl {
99

10-
public abstract void eatSoulImp();
10+
public abstract void eatSoulImp();
1111

1212
}

0 commit comments

Comments
 (0)