Merge pull request #281 from ankurkaushal/master
Reformat according to google style guide
This commit is contained in:
@ -2,30 +2,29 @@ package com.iluwatar.visitor;
|
||||
|
||||
/**
|
||||
*
|
||||
* Visitor pattern defines mechanism to apply operations on nodes
|
||||
* in hierarchy. New operations can be added without altering the node
|
||||
* interface.
|
||||
* Visitor pattern defines mechanism to apply operations on nodes in hierarchy. New operations can
|
||||
* be added without altering the node interface.
|
||||
* <p>
|
||||
* In this example there is a unit hierarchy beginning from {@link Commander}.
|
||||
* This hierarchy is traversed by visitors. {@link SoldierVisitor} applies
|
||||
* its operation on {@link Soldier}s, {@link SergeantVisitor} on {@link Sergeant}s and so
|
||||
* on.
|
||||
* In this example there is a unit hierarchy beginning from {@link Commander}. This hierarchy is
|
||||
* traversed by visitors. {@link SoldierVisitor} applies its operation on {@link Soldier}s,
|
||||
* {@link SergeantVisitor} on {@link Sergeant}s and so on.
|
||||
*
|
||||
*/
|
||||
public class App {
|
||||
|
||||
/**
|
||||
* Program entry point
|
||||
* @param args command line args
|
||||
*/
|
||||
public static void main(String[] args) {
|
||||
/**
|
||||
* Program entry point
|
||||
*
|
||||
* @param args command line args
|
||||
*/
|
||||
public static void main(String[] args) {
|
||||
|
||||
Commander commander = new Commander(new Sergeant(new Soldier(),
|
||||
new Soldier(), new Soldier()), new Sergeant(new Soldier(),
|
||||
new Soldier(), new Soldier()));
|
||||
commander.accept(new SoldierVisitor());
|
||||
commander.accept(new SergeantVisitor());
|
||||
commander.accept(new CommanderVisitor());
|
||||
Commander commander =
|
||||
new Commander(new Sergeant(new Soldier(), new Soldier(), new Soldier()), new Sergeant(
|
||||
new Soldier(), new Soldier(), new Soldier()));
|
||||
commander.accept(new SoldierVisitor());
|
||||
commander.accept(new SergeantVisitor());
|
||||
commander.accept(new CommanderVisitor());
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -7,18 +7,18 @@ package com.iluwatar.visitor;
|
||||
*/
|
||||
public class Commander extends Unit {
|
||||
|
||||
public Commander(Unit... children) {
|
||||
super(children);
|
||||
}
|
||||
public Commander(Unit... children) {
|
||||
super(children);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void accept(UnitVisitor visitor) {
|
||||
visitor.visitCommander(this);
|
||||
super.accept(visitor);
|
||||
}
|
||||
@Override
|
||||
public void accept(UnitVisitor visitor) {
|
||||
visitor.visitCommander(this);
|
||||
super.accept(visitor);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return "commander";
|
||||
}
|
||||
@Override
|
||||
public String toString() {
|
||||
return "commander";
|
||||
}
|
||||
}
|
||||
|
@ -7,17 +7,14 @@ package com.iluwatar.visitor;
|
||||
*/
|
||||
public class CommanderVisitor implements UnitVisitor {
|
||||
|
||||
@Override
|
||||
public void visitSoldier(Soldier soldier) {
|
||||
}
|
||||
@Override
|
||||
public void visitSoldier(Soldier soldier) {}
|
||||
|
||||
@Override
|
||||
public void visitSergeant(Sergeant sergeant) {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void visitCommander(Commander commander) {
|
||||
System.out.println("Good to see you " + commander);
|
||||
}
|
||||
@Override
|
||||
public void visitSergeant(Sergeant sergeant) {}
|
||||
|
||||
@Override
|
||||
public void visitCommander(Commander commander) {
|
||||
System.out.println("Good to see you " + commander);
|
||||
}
|
||||
}
|
||||
|
@ -7,18 +7,18 @@ package com.iluwatar.visitor;
|
||||
*/
|
||||
public class Sergeant extends Unit {
|
||||
|
||||
public Sergeant(Unit... children) {
|
||||
super(children);
|
||||
}
|
||||
public Sergeant(Unit... children) {
|
||||
super(children);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void accept(UnitVisitor visitor) {
|
||||
visitor.visitSergeant(this);
|
||||
super.accept(visitor);
|
||||
}
|
||||
@Override
|
||||
public void accept(UnitVisitor visitor) {
|
||||
visitor.visitSergeant(this);
|
||||
super.accept(visitor);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return "sergeant";
|
||||
}
|
||||
@Override
|
||||
public String toString() {
|
||||
return "sergeant";
|
||||
}
|
||||
}
|
||||
|
@ -7,17 +7,14 @@ package com.iluwatar.visitor;
|
||||
*/
|
||||
public class SergeantVisitor implements UnitVisitor {
|
||||
|
||||
@Override
|
||||
public void visitSoldier(Soldier soldier) {
|
||||
}
|
||||
@Override
|
||||
public void visitSoldier(Soldier soldier) {}
|
||||
|
||||
@Override
|
||||
public void visitSergeant(Sergeant sergeant) {
|
||||
System.out.println("Hello " + sergeant);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void visitCommander(Commander commander) {
|
||||
}
|
||||
@Override
|
||||
public void visitSergeant(Sergeant sergeant) {
|
||||
System.out.println("Hello " + sergeant);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void visitCommander(Commander commander) {}
|
||||
}
|
||||
|
@ -7,18 +7,18 @@ package com.iluwatar.visitor;
|
||||
*/
|
||||
public class Soldier extends Unit {
|
||||
|
||||
public Soldier(Unit... children) {
|
||||
super(children);
|
||||
}
|
||||
public Soldier(Unit... children) {
|
||||
super(children);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void accept(UnitVisitor visitor) {
|
||||
visitor.visitSoldier(this);
|
||||
super.accept(visitor);
|
||||
}
|
||||
@Override
|
||||
public void accept(UnitVisitor visitor) {
|
||||
visitor.visitSoldier(this);
|
||||
super.accept(visitor);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return "soldier";
|
||||
}
|
||||
@Override
|
||||
public String toString() {
|
||||
return "soldier";
|
||||
}
|
||||
}
|
||||
|
@ -7,17 +7,14 @@ package com.iluwatar.visitor;
|
||||
*/
|
||||
public class SoldierVisitor implements UnitVisitor {
|
||||
|
||||
@Override
|
||||
public void visitSoldier(Soldier soldier) {
|
||||
System.out.println("Greetings " + soldier);
|
||||
}
|
||||
@Override
|
||||
public void visitSoldier(Soldier soldier) {
|
||||
System.out.println("Greetings " + soldier);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void visitSergeant(Sergeant sergeant) {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void visitCommander(Commander commander) {
|
||||
}
|
||||
@Override
|
||||
public void visitSergeant(Sergeant sergeant) {}
|
||||
|
||||
@Override
|
||||
public void visitCommander(Commander commander) {}
|
||||
}
|
||||
|
@ -7,15 +7,15 @@ package com.iluwatar.visitor;
|
||||
*/
|
||||
public abstract class Unit {
|
||||
|
||||
private Unit[] children;
|
||||
private Unit[] children;
|
||||
|
||||
public Unit(Unit... children) {
|
||||
this.children = children;
|
||||
}
|
||||
public Unit(Unit... children) {
|
||||
this.children = children;
|
||||
}
|
||||
|
||||
public void accept(UnitVisitor visitor) {
|
||||
for (Unit child : children) {
|
||||
child.accept(visitor);
|
||||
}
|
||||
}
|
||||
public void accept(UnitVisitor visitor) {
|
||||
for (Unit child : children) {
|
||||
child.accept(visitor);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -7,10 +7,10 @@ package com.iluwatar.visitor;
|
||||
*/
|
||||
public interface UnitVisitor {
|
||||
|
||||
void visitSoldier(Soldier soldier);
|
||||
void visitSoldier(Soldier soldier);
|
||||
|
||||
void visitSergeant(Sergeant sergeant);
|
||||
void visitSergeant(Sergeant sergeant);
|
||||
|
||||
void visitCommander(Commander commander);
|
||||
void visitCommander(Commander commander);
|
||||
|
||||
}
|
||||
|
@ -11,9 +11,9 @@ import com.iluwatar.visitor.App;
|
||||
*/
|
||||
public class AppTest {
|
||||
|
||||
@Test
|
||||
public void test() {
|
||||
String[] args = {};
|
||||
App.main(args);
|
||||
}
|
||||
@Test
|
||||
public void test() {
|
||||
String[] args = {};
|
||||
App.main(args);
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user