Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commitf3749a2

Browse files
committed
Solved the classcast exception and used instanceof instead. Improved javadocs a bit.
1 parent9e56e5c commitf3749a2

File tree

4 files changed

+14
-12
lines changed

4 files changed

+14
-12
lines changed

‎acyclic-visitor/src/main/java/com/iluwatar/acyclicvisitor/AllModemVisitor.java

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -23,8 +23,9 @@
2323
packagecom.iluwatar.acyclicvisitor;
2424

2525
/**
26-
* All ModemVisitor interface extends all visitor interfaces
26+
* All ModemVisitor interface extends all visitor interfaces. This interface
27+
* provides ease of use when a visitor needs to visit all modem types.
2728
*/
28-
publicinterfaceAllModemVisitorextendsModemVisitor,ZoomVisitor,HayesVisitor{
29+
publicinterfaceAllModemVisitorextendsZoomVisitor,HayesVisitor{
2930

3031
}

‎acyclic-visitor/src/main/java/com/iluwatar/acyclicvisitor/ConfigureForUnixVisitor.java

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -27,9 +27,10 @@
2727

2828
/**
2929
* ConfigureForUnixVisitor class implements zoom's visit method for Unix
30-
* manufacturer
30+
* manufacturer, unlike traditional visitor pattern, this class may selectively implement
31+
* visit for other modems.
3132
*/
32-
publicclassConfigureForUnixVisitorimplementsModemVisitor,ZoomVisitor {
33+
publicclassConfigureForUnixVisitorimplementsZoomVisitor {
3334

3435
privatestaticfinalLoggerLOGGER =LoggerFactory.getLogger(ConfigureForUnixVisitor.class);
3536

‎acyclic-visitor/src/main/java/com/iluwatar/acyclicvisitor/Hayes.java

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -37,10 +37,10 @@ public class Hayes extends Modem {
3737
*/
3838
@Override
3939
publicvoidaccept(ModemVisitormodemVisitor) {
40-
try {
41-
((HayesVisitor)modemVisitor).visit(this);
42-
}catch (ClassCastExceptione) {
43-
LOGGER.error("Unable to casttoHayesVisitor");
40+
if (modemVisitorinstanceofHayesVisitor) {
41+
((HayesVisitor)modemVisitor).visit(this);
42+
}else {
43+
LOGGER.info("Only HayesVisitor is allowedtovisit Hayes modem");
4444
}
4545

4646
}

‎acyclic-visitor/src/main/java/com/iluwatar/acyclicvisitor/Zoom.java

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -37,10 +37,10 @@ public class Zoom extends Modem {
3737
*/
3838
@Override
3939
publicvoidaccept(ModemVisitormodemVisitor) {
40-
try {
41-
((ZoomVisitor)modemVisitor).visit(this);
42-
}catch (ClassCastExceptione) {
43-
LOGGER.error("Unable to casttoZoomVisitor");
40+
if (modemVisitorinstanceofZoomVisitor) {
41+
((ZoomVisitor)modemVisitor).visit(this);
42+
}else {
43+
LOGGER.info("Only ZoomVisitor is allowedtovisit Zoom modem");
4444
}
4545
}
4646

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp