org.exolab.castor.builder.conflictresolution
Class WarningViaDialogClassNameCRStrategy

java.lang.Object
  extended by org.exolab.castor.builder.conflictresolution.BaseClassNameCRStrategy
      extended by org.exolab.castor.builder.conflictresolution.WarningViaDialogClassNameCRStrategy
All Implemented Interfaces:
ClassNameCRStrategy

public final class WarningViaDialogClassNameCRStrategy
extends BaseClassNameCRStrategy
implements ClassNameCRStrategy

An implementation of ClassNameCRStrategy that reports any conflict notifications to a console dialog, asking the user whether to stop code generation (as the conflict is not acceptable), or whether to proceed by overwriting an already existing class.

Since:
1.1
Author:
Werner Guttmann

Field Summary
static java.lang.String NAME
          Name of this strategy.
 
Constructor Summary
WarningViaDialogClassNameCRStrategy()
          Creates an instance of this name conflict resolution strategy, that will use the specified ConsoleDialog instance to emit warnings to the user and ask about an approach to deal with them.
 
Method Summary
 SGStateInfo dealWithClassNameConflict(SGStateInfo state, ClassInfo newClassInfo, JClass conflict)
          Handle a class name conflict between newClassInfo and conflict.
 boolean dealWithFileOverwrite(java.lang.String filename)
          Presents the user with a console dialog, asking for confirmation whether an existing file should be overwritten (or not).
protected  ConsoleDialog getConsoleDialog()
          Returns the ConsoleDialog instance in use.
 java.lang.String getName()
          Returns the name of the strategy.
 void setConsoleDialog(ConsoleDialog dialog)
          Sets the console dialog to use with this strategy.
 
Methods inherited from class org.exolab.castor.builder.conflictresolution.BaseClassNameCRStrategy
getSingleClassGenerator, setSingleClassGenerator
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface org.exolab.castor.builder.conflictresolution.ClassNameCRStrategy
setSingleClassGenerator
 

Field Detail

NAME

public static final java.lang.String NAME
Name of this strategy.

See Also:
Constant Field Values
Constructor Detail

WarningViaDialogClassNameCRStrategy

public WarningViaDialogClassNameCRStrategy()
Creates an instance of this name conflict resolution strategy, that will use the specified ConsoleDialog instance to emit warnings to the user and ask about an approach to deal with them.

Method Detail

dealWithClassNameConflict

public SGStateInfo dealWithClassNameConflict(SGStateInfo state,
                                             ClassInfo newClassInfo,
                                             JClass conflict)
Handle a class name conflict between newClassInfo and conflict.

Specified by:
dealWithClassNameConflict in interface ClassNameCRStrategy
Parameters:
state - SourceGeneration state
newClassInfo - ClassInfo for the new class
conflict - JClass for the existing class
Returns:
the provided source generator state, as modified by the strategy
See Also:
#dealWithClassNameConflict(org.exolab.castor.builder.SGStateInfo, org.exolab.castor.builder.info.ClassInfo, org.exolab.javasource.JClass)

getName

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

Specified by:
getName in interface ClassNameCRStrategy
Returns:
the name of the strategy.
See Also:
ClassNameCRStrategy.getName()

setConsoleDialog

public void setConsoleDialog(ConsoleDialog dialog)
Sets the console dialog to use with this strategy.

Specified by:
setConsoleDialog in interface ClassNameCRStrategy
Parameters:
dialog - the console dialog to use with this strategy.
See Also:
setConsoleDialog(org.exolab.castor.util.dialog.ConsoleDialog)

dealWithFileOverwrite

public boolean dealWithFileOverwrite(java.lang.String filename)
Presents the user with a console dialog, asking for confirmation whether an existing file should be overwritten (or not).

Specified by:
dealWithFileOverwrite in interface ClassNameCRStrategy
Parameters:
filename - the filename to potentially overwrite.
Returns:
whether or not the file should be overwritten.
See Also:
#dealWithFileOverwrite(java.lang.String, boolean)

getConsoleDialog

protected ConsoleDialog getConsoleDialog()
Returns the ConsoleDialog instance in use.

Returns:
the ConsoleDialog used for output/feedback gathering.


Intalio Inc. (C) 1999-2008. All rights reserved http://www.intalio.com