-
-
Notifications
You must be signed in to change notification settings - Fork 26.5k
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
Acyclic Visitor pattern #734 #753
Changes from 1 commit
8bf53fe
e9a219f
9e15abb
18a75c0
3f92b8f
75734a6
323395d
bbdf1cd
9771884
5e1da63
36a1477
27f58e0
17164c2
4023944
afe85e2
179a02b
49feead
6167d06
8b1ed95
6a0fa74
6636fb1
04d80f0
51659fe
57f60c5
f9bdd58
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
- Loading branch information
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,62 @@ | ||
/** | ||
* The MIT License | ||
* Copyright (c) 2014-2016 Ilkka Seppälä | ||
* | ||
* Permission is hereby granted, free of charge, to any person obtaining a copy | ||
* of this software and associated documentation files (the "Software"), to deal | ||
* in the Software without restriction, including without limitation the rights | ||
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell | ||
* copies of the Software, and to permit persons to whom the Software is | ||
* furnished to do so, subject to the following conditions: | ||
* | ||
* The above copyright notice and this permission notice shall be included in | ||
* all copies or substantial portions of the Software. | ||
* | ||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR | ||
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, | ||
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE | ||
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER | ||
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, | ||
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN | ||
* THE SOFTWARE. | ||
*/ | ||
package com.iluwatar.acyclicvisitor; | ||
|
||
import org.slf4j.Logger; | ||
import org.slf4j.LoggerFactory; | ||
|
||
/** | ||
* Hayes class implements its | ||
* accept method | ||
*/ | ||
|
||
public class Hayes extends Modem { | ||
|
||
private static final Logger LOGGER = LoggerFactory.getLogger(ConfigureForDosVisitor.class); | ||
|
||
public Hayes() { | ||
|
||
} | ||
|
||
/** | ||
* Accept visitor | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Suggestion: Accept all visitors, but honor only |
||
*/ | ||
@Override | ||
public void accept(ModemVisitor modemVisitor) { | ||
try { | ||
((HayesVisitor) modemVisitor).visit(this); | ||
} catch (ClassCastException e) { | ||
LOGGER.error("Unable to cast to HayesVisitor"); | ||
} | ||
|
||
} | ||
|
||
/** | ||
* Hayes' modem's toString | ||
* method | ||
*/ | ||
@Override | ||
public String toString() { | ||
return "Hayes modem"; | ||
} | ||
} |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,61 @@ | ||
/** | ||
* The MIT License | ||
* Copyright (c) 2014-2016 Ilkka Seppälä | ||
* | ||
* Permission is hereby granted, free of charge, to any person obtaining a copy | ||
* of this software and associated documentation files (the "Software"), to deal | ||
* in the Software without restriction, including without limitation the rights | ||
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell | ||
* copies of the Software, and to permit persons to whom the Software is | ||
* furnished to do so, subject to the following conditions: | ||
* | ||
* The above copyright notice and this permission notice shall be included in | ||
* all copies or substantial portions of the Software. | ||
* | ||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR | ||
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, | ||
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE | ||
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER | ||
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, | ||
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN | ||
* THE SOFTWARE. | ||
*/ | ||
package com.iluwatar.acyclicvisitor; | ||
|
||
import org.slf4j.Logger; | ||
import org.slf4j.LoggerFactory; | ||
|
||
/** | ||
* Zoom class implements its | ||
* accept method | ||
*/ | ||
|
||
public class Zoom extends Modem { | ||
|
||
private static final Logger LOGGER = LoggerFactory.getLogger(ConfigureForDosVisitor.class); | ||
|
||
public Zoom() { | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. No need to default constructor |
||
|
||
} | ||
|
||
/** | ||
* Accept visitor | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Suggestion: Accepts all visitors but honors only |
||
*/ | ||
@Override | ||
public void accept(ModemVisitor modemVisitor) { | ||
try { | ||
((ZoomVisitor) modemVisitor).visit(this); | ||
} catch (ClassCastException e) { | ||
LOGGER.error("Unable to cast to ZoomVisitor"); | ||
} | ||
} | ||
|
||
/** | ||
* Zoom modem's toString | ||
* method | ||
*/ | ||
@Override | ||
public String toString() { | ||
return "Zoom modem"; | ||
} | ||
} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
No need to explicitly defining default constructor