Enhancing code format
This commit is contained in:
@ -23,28 +23,17 @@
|
|||||||
package com.iluwatar.acyclicvisitor;
|
package com.iluwatar.acyclicvisitor;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* The Acyclic Visitor pattern allows new
|
* The Acyclic Visitor pattern allows new functions to be added to existing class
|
||||||
* functions to be added to existing class
|
* hierarchies without affecting those hierarchies, and without creating the dependency
|
||||||
* hierarchies without affecting those
|
* cycles that are inherent to the GoF Visitor pattern, by making the Visitor base class
|
||||||
* hierarchies, and without creating the
|
* degenerate
|
||||||
* dependency cycles that are inherent to
|
|
||||||
* the GoF Visitor pattern, by making the
|
|
||||||
* Visitor base class degenerate
|
|
||||||
* <p>
|
* <p>
|
||||||
* In this example the visitor base
|
* In this example the visitor base class is {@link ModemVisitor}. The base class of the
|
||||||
* class is {@link ModemVisitor}.
|
* visited hierarchy is {@link Modem} and has two children {@link Hayes} and {@link Zoom}
|
||||||
* The base class of the visited
|
* each one having its own visitor interface {@link Hayes} and {@link ZoomVisitor}
|
||||||
* hierarchy is {@link Modem} and
|
* respectively. {@link ConfigureForUnixVisitor} and {@link ConfigureForDosVisitor}
|
||||||
* has two children {@link Hayes}
|
* implement each derivative's visit method only if it is required
|
||||||
* and {@link Zoom} each one having
|
|
||||||
* its own visitor interface {@link Hayes}
|
|
||||||
* and {@link ZoomVisitor} respectively.
|
|
||||||
* {@link ConfigureForUnixVisitor} and
|
|
||||||
* {@link ConfigureForDosVisitor} implement
|
|
||||||
* each derivative's visit method
|
|
||||||
* only if it is required
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
public class App {
|
public class App {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -26,12 +26,9 @@ import org.slf4j.Logger;
|
|||||||
import org.slf4j.LoggerFactory;
|
import org.slf4j.LoggerFactory;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* CongigureForDosVisitor class
|
* CongigureForDosVisitor class implements both zoom's and hayes' visit method
|
||||||
* implements both zoom's and
|
* for Dos manufacturer
|
||||||
* hayes' visit method for Dos
|
|
||||||
* manufacturer
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
public class ConfigureForDosVisitor implements ModemVisitor, HayesVisitor, ZoomVisitor {
|
public class ConfigureForDosVisitor implements ModemVisitor, HayesVisitor, ZoomVisitor {
|
||||||
|
|
||||||
private static final Logger LOGGER = LoggerFactory.getLogger(ConfigureForDosVisitor.class);
|
private static final Logger LOGGER = LoggerFactory.getLogger(ConfigureForDosVisitor.class);
|
||||||
|
@ -26,9 +26,8 @@ import org.slf4j.Logger;
|
|||||||
import org.slf4j.LoggerFactory;
|
import org.slf4j.LoggerFactory;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* CongigureForDosVisitor class
|
* CongigureForDosVisitor class implements both zoom's visit method for Unix
|
||||||
* implements both zoom's visit
|
* manufacturer
|
||||||
* method for Unix manufacturer
|
|
||||||
*/
|
*/
|
||||||
public class ConfigureForUnixVisitor implements ModemVisitor, ZoomVisitor {
|
public class ConfigureForUnixVisitor implements ModemVisitor, ZoomVisitor {
|
||||||
|
|
||||||
|
@ -26,10 +26,8 @@ import org.slf4j.Logger;
|
|||||||
import org.slf4j.LoggerFactory;
|
import org.slf4j.LoggerFactory;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Hayes class implements its
|
* Hayes class implements its accept method
|
||||||
* accept method
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
public class Hayes extends Modem {
|
public class Hayes extends Modem {
|
||||||
|
|
||||||
private static final Logger LOGGER = LoggerFactory.getLogger(ConfigureForDosVisitor.class);
|
private static final Logger LOGGER = LoggerFactory.getLogger(ConfigureForDosVisitor.class);
|
||||||
|
@ -25,7 +25,6 @@ package com.iluwatar.acyclicvisitor;
|
|||||||
/**
|
/**
|
||||||
* Modem abstract class
|
* Modem abstract class
|
||||||
*/
|
*/
|
||||||
|
|
||||||
public abstract class Modem {
|
public abstract class Modem {
|
||||||
public abstract void accept(ModemVisitor modemVisitor);
|
public abstract void accept(ModemVisitor modemVisitor);
|
||||||
}
|
}
|
||||||
|
@ -25,7 +25,6 @@ package com.iluwatar.acyclicvisitor;
|
|||||||
/**
|
/**
|
||||||
* ZoomVisitor interface
|
* ZoomVisitor interface
|
||||||
*/
|
*/
|
||||||
|
|
||||||
public interface ModemVisitor {
|
public interface ModemVisitor {
|
||||||
// Visitor is a degenerate base class for all visitors.
|
// Visitor is a degenerate base class for all visitors.
|
||||||
}
|
}
|
||||||
|
@ -26,10 +26,8 @@ import org.slf4j.Logger;
|
|||||||
import org.slf4j.LoggerFactory;
|
import org.slf4j.LoggerFactory;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Zoom class implements its
|
* Zoom class implements its accept method
|
||||||
* accept method
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
public class Zoom extends Modem {
|
public class Zoom extends Modem {
|
||||||
|
|
||||||
private static final Logger LOGGER = LoggerFactory.getLogger(ConfigureForDosVisitor.class);
|
private static final Logger LOGGER = LoggerFactory.getLogger(ConfigureForDosVisitor.class);
|
||||||
|
@ -25,7 +25,6 @@ package com.iluwatar.acyclicvisitor;
|
|||||||
/**
|
/**
|
||||||
* ZoomVisitor interface
|
* ZoomVisitor interface
|
||||||
*/
|
*/
|
||||||
|
|
||||||
public interface ZoomVisitor {
|
public interface ZoomVisitor {
|
||||||
void visit(Zoom zoom);
|
void visit(Zoom zoom);
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user