Interface ClassNameCRStrategy
- All Known Implementing Classes:
BaseClassNameCRStrategy
,InformViaLogClassNameCRStrategy
,WarningViaDialogClassNameCRStrategy
public interface ClassNameCRStrategy
Strategy pattern for dealing with class name conflicts during source code
generation. The various implementations of this stragtegy will implement
individual approaches for dealing with such a naming collision.
- Since:
- 1.1
- Author:
- Werner Guttmann
-
Method Summary
Modifier and TypeMethodDescriptiondealWithClassNameConflict
(SGStateInfo state, ClassInfo newClassInfo, JClass conflict) Implements a specific strategy for dealing with class name conflicts.boolean
dealWithFileOverwrite
(String filename) Implements a specific strategy for dealing with the fact that -- for a given file name -- an artifact with the same name already exists.getName()
Returns the name of this strategy.void
setConsoleDialog
(ConsoleDialog dialog) Sets theConsoleDialog
instance to use (if required).void
setSingleClassGenerator
(SingleClassGenerator generator) Injects theSingleClassGenerator
instance that actually is calling a method of this strategy.
-
Method Details
-
dealWithClassNameConflict
Implements a specific strategy for dealing with class name conflicts.- Parameters:
state
- The current source generator state.newClassInfo
- Theinvalid reference
CLassInfo
conflict
- TheJClass
instance representing the potential conflict.- Returns:
- the source generator state, as modified by the decision.
-
dealWithFileOverwrite
Implements a specific strategy for dealing with the fact that -- for a given file name -- an artifact with the same name already exists.- Parameters:
filename
- The name of the file to be overwritten.- Returns:
- True of the file should be overwritten.
-
getName
String getName()Returns the name of this strategy.- Returns:
- The name of this strategy.
-
setConsoleDialog
Sets theConsoleDialog
instance to use (if required).- Parameters:
dialog
- theConsoleDialog
instance to use (if required).
-
setSingleClassGenerator
Injects theSingleClassGenerator
instance that actually is calling a method of this strategy.- Parameters:
generator
- The callingSingleClassGenerator
- See Also:
-