Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fix issue 1968 and correct visitor pattern code #1990

Closed
wants to merge 8 commits into from
Closed
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
add Javadoc and comments for issue
  • Loading branch information
xyllq999 committed Apr 24, 2022
commit ed32c3ca79f322804b159d3080545dff81649a06
5 changes: 5 additions & 0 deletions visitor/src/main/java/com/iluwatar/visitor/Commander.java
Original file line number Diff line number Diff line change
Expand Up @@ -32,8 +32,13 @@ public Commander(Unit... children) {
super(children);
}

/**
* Accept a Visitor.
* @param visitor
*/
@Override
public void accept(UnitVisitor visitor) {
//CS304 Issue link: https://github.com/iluwatar/java-design-patterns/issues/1968
visitor.visit(this);
super.accept(visitor);
}
Expand Down
13 changes: 13 additions & 0 deletions visitor/src/main/java/com/iluwatar/visitor/CommanderVisitor.java
Original file line number Diff line number Diff line change
Expand Up @@ -30,17 +30,30 @@
*/
@Slf4j
public class CommanderVisitor implements UnitVisitor {
//CS304 Issue link: https://github.com/iluwatar/java-design-patterns/issues/1968
xyllq999 marked this conversation as resolved.
Show resolved Hide resolved

/**
* Soldier Visitor method.
* @param soldier
*/
@Override
public void visit(Soldier soldier) {
// Do nothing
}

/**
* Sergeant Visitor method.
* @param sergeant
*/
@Override
public void visit(Sergeant sergeant) {
// Do nothing
}

/**
* Commander Visitor method.
* @param commander
*/
@Override
public void visit(Commander commander) {
LOGGER.info("Good to see you {}", commander);
Expand Down
5 changes: 5 additions & 0 deletions visitor/src/main/java/com/iluwatar/visitor/Sergeant.java
Original file line number Diff line number Diff line change
Expand Up @@ -32,8 +32,13 @@ public Sergeant(Unit... children) {
super(children);
}

/**
* Accept a visitor.
* @param visitor
*/
@Override
public void accept(UnitVisitor visitor) {
//CS304 Issue link: https://github.com/iluwatar/java-design-patterns/issues/1968
xyllq999 marked this conversation as resolved.
Show resolved Hide resolved
visitor.visit(this);
super.accept(visitor);
}
Expand Down
13 changes: 13 additions & 0 deletions visitor/src/main/java/com/iluwatar/visitor/SergeantVisitor.java
Original file line number Diff line number Diff line change
Expand Up @@ -30,17 +30,30 @@
*/
@Slf4j
public class SergeantVisitor implements UnitVisitor {
//CS304 Issue link: https://github.com/iluwatar/java-design-patterns/issues/1968
xyllq999 marked this conversation as resolved.
Show resolved Hide resolved

/**
* Soldier Visitor method.
* @param soldier
*/
@Override
public void visit(Soldier soldier) {
// Do nothing
}

/**
* Sergeant Visitor method.
* @param sergeant
*/
@Override
public void visit(Sergeant sergeant) {
LOGGER.info("Hello {}", sergeant);
}

/**
* Commander Visitor method.
* @param commander
*/
@Override
public void visit(Commander commander) {
// Do nothing
Expand Down
5 changes: 5 additions & 0 deletions visitor/src/main/java/com/iluwatar/visitor/Soldier.java
Original file line number Diff line number Diff line change
Expand Up @@ -32,8 +32,13 @@ public Soldier(Unit... children) {
super(children);
}

/**
* Accept a visitor.
* @param visitor
*/
@Override
public void accept(UnitVisitor visitor) {
//CS304 Issue link: https://github.com/iluwatar/java-design-patterns/issues/1968
xyllq999 marked this conversation as resolved.
Show resolved Hide resolved
visitor.visit(this);
super.accept(visitor);
}
Expand Down
14 changes: 14 additions & 0 deletions visitor/src/main/java/com/iluwatar/visitor/SoldierVisitor.java
Original file line number Diff line number Diff line change
Expand Up @@ -31,16 +31,30 @@
@Slf4j
public class SoldierVisitor implements UnitVisitor {

//CS304 Issue link: https://github.com/iluwatar/java-design-patterns/issues/1968
xyllq999 marked this conversation as resolved.
Show resolved Hide resolved

/**
* Soldier visitor method.
* @param soldier
*/
@Override
public void visit(Soldier soldier) {
LOGGER.info("Greetings {}", soldier);
}

/**
* Sergeant visitor method.
* @param sergeant
*/
@Override
public void visit(Sergeant sergeant) {
// Do nothing
}

/**
* Commander visitor method.
* @param commander
*/
@Override
public void visit(Commander commander) {
// Do nothing
Expand Down
14 changes: 14 additions & 0 deletions visitor/src/main/java/com/iluwatar/visitor/UnitVisitor.java
Original file line number Diff line number Diff line change
Expand Up @@ -28,10 +28,24 @@
*/
public interface UnitVisitor {

//CS304 Issue link: https://github.com/iluwatar/java-design-patterns/issues/1968
xyllq999 marked this conversation as resolved.
Show resolved Hide resolved

/**
* Soldier visit method.
* @param soldier
*/
void visit(Soldier soldier);

/**
* Sergeant visit method.
* @param sergeant
*/
void visit(Sergeant sergeant);

/**
* Commander visit method.
* @param commander
*/
void visit(Commander commander);

}
Original file line number Diff line number Diff line change
Expand Up @@ -42,6 +42,7 @@ public CommanderTest() {

@Override
void verifyVisit(Commander unit, UnitVisitor mockedVisitor) {
//CS304 (manually written) Issue link: https://github.com/iluwatar/java-design-patterns/issues/1968
xyllq999 marked this conversation as resolved.
Show resolved Hide resolved
verify(mockedVisitor).visit(eq(unit));
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -42,6 +42,7 @@ public SergeantTest() {

@Override
void verifyVisit(Sergeant unit, UnitVisitor mockedVisitor) {
//CS304 (manually written) Issue link: https://github.com/iluwatar/java-design-patterns/issues/1968
verify(mockedVisitor).visit(eq(unit));
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -42,6 +42,7 @@ public SoldierTest() {

@Override
void verifyVisit(Soldier unit, UnitVisitor mockedVisitor) {
//CS304 (manually written) Issue link: https://github.com/iluwatar/java-design-patterns/issues/1968
xyllq999 marked this conversation as resolved.
Show resolved Hide resolved
verify(mockedVisitor).visit(eq(unit));
}

Expand Down