org.exolab.castor.builder.conflictresolution
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
 SGStateInfo dealWithClassNameConflict(SGStateInfo state, ClassInfo newClassInfo, JClass conflict)
          Implements a specific strategy for dealing with class name conflicts.
 boolean dealWithFileOverwrite(java.lang.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.
 java.lang.String getName()
          Returns the name of this strategy.
 void setConsoleDialog(ConsoleDialog dialog)
          Sets the ConsoleDialog instance to use (if required).
 void setSingleClassGenerator(SingleClassGenerator generator)
          Injects the SingleClassGenerator instance that actually is calling a method of this strategy.
 

Method Detail

dealWithClassNameConflict

SGStateInfo dealWithClassNameConflict(SGStateInfo state,
                                      ClassInfo newClassInfo,
                                      JClass conflict)
Implements a specific strategy for dealing with class name conflicts.

Parameters:
state - The current source generator state.
newClassInfo - The CLassInfo for the new class to be generated.
conflict - The JClass instance representing the potential conflict.
Returns:
the source generator state, as modified by the decision.

dealWithFileOverwrite

boolean dealWithFileOverwrite(java.lang.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.

Parameters:
filename - The name of the file to be overwritten.
Returns:
True of the file should be overwritten.

getName

java.lang.String getName()
Returns the name of this strategy.

Returns:
The name of this strategy.

setConsoleDialog

void setConsoleDialog(ConsoleDialog dialog)
Sets the ConsoleDialog instance to use (if required).

Parameters:
dialog - the ConsoleDialog instance to use (if required).

setSingleClassGenerator

void setSingleClassGenerator(SingleClassGenerator generator)
Injects the SingleClassGenerator instance that actually is calling a method of this strategy.

Parameters:
generator - The calling SingleClassGenerator
See Also:
SingleClassGenerator


Copyright © 2011. All Rights Reserved.