org.eclipse.ocl.util
Class ProblemHandlerWrapper

java.lang.Object
  extended by org.eclipse.ocl.util.ProblemHandlerWrapper
All Implemented Interfaces:
ProblemHandler
Direct Known Subclasses:
ProblemHandlerWrapper.Tee

public class ProblemHandlerWrapper
extends Object
implements ProblemHandler

A wrapper for ProblemHandlers, convenient for subclassing to decorate/intercept an existing problem handler instance.

Since:
1.2

Nested Class Summary
static class ProblemHandlerWrapper.Tee
          Like the UNIX tool tee, a Tee forks problem handling in two directions, that is, to two other problem-handler instances.
 
Nested classes/interfaces inherited from interface org.eclipse.ocl.lpg.ProblemHandler
ProblemHandler.Phase, ProblemHandler.Severity
 
Field Summary
 
Fields inherited from interface org.eclipse.ocl.lpg.ProblemHandler
ERROR_MESSAGES
 
Constructor Summary
ProblemHandlerWrapper(ProblemHandler delegate)
          Initializes me with the problem-handler to which I delegate.
 
Method Summary
 void analyzerProblem(ProblemHandler.Severity problemSeverity, String problemMessage, String processingContext, int startOffset, int endOffset)
          Convenience method typically invoking handleProblem with a analyzerProblem processing phase.
 void beginParse()
          Notifies me that parsing is about to begin, from which I may receive problems.
 void beginValidation()
          Notifies me that validation is about to begin, from which I may receive problems.
 void endParse()
          Notifies me that parsing has completed, and I will get no further problems in this session.
 void endValidation()
          Notifies me that validation has completed, and I will get no further problems in this session.
 void flush(Monitor monitor)
          Flush all problems to their recipient.
 int getErrorReportLineOffset()
          Queries the line offset for reporting errors.
 AbstractParser getParser()
          Queries the parser from which I obtain source tokens and text.
 void handleProblem(ProblemHandler.Severity problemSeverity, ProblemHandler.Phase processingPhase, String problemMessage, String processingContext, int startOffset, int endOffset)
          Handle a problem of problemSeverity that has arisen during processingPhase and which is explained by problemMessage optionally clarified, if non-null, by processingContext, and if non-negative by the startOffset and endOffset character indexes in the parsing stream.
 void lexerProblem(ProblemHandler.Severity problemSeverity, String problemMessage, String processingContext, int startOffset, int endOffset)
          Convenience method typically invoking handleProblem with a lexerProblem processing phase.
 void parserProblem(ProblemHandler.Severity problemSeverity, String problemMessage, String processingContext, int startOffset, int endOffset)
          Convenience method typically invoking handleProblem with a parserProblem processing phase.
 void setErrorReportLineOffset(int offset)
          Sets the line offset for reporting errors.
 void setParser(AbstractParser parser)
          Define the syntactic parser from which source tokens and text may be obtained.
 void utilityProblem(ProblemHandler.Severity problemSeverity, String problemMessage, String processingContext, int startOffset, int endOffset)
          Convenience method typically invoking handleProblem with a utilityProblem processing phase.
 void validatorProblem(ProblemHandler.Severity problemSeverity, String problemMessage, String processingContext, int startOffset, int endOffset)
          Convenience method typically invoking handleProblem with a validatorProblem processing phase.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ProblemHandlerWrapper

public ProblemHandlerWrapper(ProblemHandler delegate)
Initializes me with the problem-handler to which I delegate.

Parameters:
delegate - m delegate
Method Detail

analyzerProblem

public void analyzerProblem(ProblemHandler.Severity problemSeverity,
                            String problemMessage,
                            String processingContext,
                            int startOffset,
                            int endOffset)
Description copied from interface: ProblemHandler
Convenience method typically invoking handleProblem with a analyzerProblem processing phase.

Specified by:
analyzerProblem in interface ProblemHandler
Parameters:
problemSeverity - text describing the problem severity
problemMessage - message describing the problem
processingContext - optional message describing the reporting context (e.g. "PathNameCS")
startOffset - (inclusive) index of first source character influencing the problem, -ve if unknown
endOffset - (exclusive) index of last source character influencing the problem, -ve if unknown

beginParse

public void beginParse()
Description copied from interface: ProblemHandler
Notifies me that parsing is about to begin, from which I may receive problems. I should initialize myself accordingly, if necessary.

Specified by:
beginParse in interface ProblemHandler

beginValidation

public void beginValidation()
Description copied from interface: ProblemHandler
Notifies me that validation is about to begin, from which I may receive problems. I should initialize myself accordingly, if necessary.

Specified by:
beginValidation in interface ProblemHandler

endParse

public void endParse()
Description copied from interface: ProblemHandler
Notifies me that parsing has completed, and I will get no further problems in this session. I may clean up accordingly, if necessary.

Specified by:
endParse in interface ProblemHandler

endValidation

public void endValidation()
Description copied from interface: ProblemHandler
Notifies me that validation has completed, and I will get no further problems in this session. I may clean up accordingly, if necessary.

Specified by:
endValidation in interface ProblemHandler

flush

public void flush(Monitor monitor)
Description copied from interface: ProblemHandler
Flush all problems to their recipient. This method allows handlers to batch up error reports into a single composite report or transaction.

Specified by:
flush in interface ProblemHandler
Parameters:
monitor - an optional EMF monitor for reporting progress. May be null if not needed by the caller

getErrorReportLineOffset

public int getErrorReportLineOffset()
Description copied from interface: ProblemHandler
Queries the line offset for reporting errors. E.g,. if an error occurred at line 2, but the offset was set to -1, then line 1 will be reported.

Specified by:
getErrorReportLineOffset in interface ProblemHandler
Returns:
the line offset

getParser

public AbstractParser getParser()
Description copied from interface: ProblemHandler
Queries the parser from which I obtain source tokens and text.

Specified by:
getParser in interface ProblemHandler
Returns:
my parser

handleProblem

public void handleProblem(ProblemHandler.Severity problemSeverity,
                          ProblemHandler.Phase processingPhase,
                          String problemMessage,
                          String processingContext,
                          int startOffset,
                          int endOffset)
Description copied from interface: ProblemHandler
Handle a problem of problemSeverity that has arisen during processingPhase and which is explained by problemMessage optionally clarified, if non-null, by processingContext, and if non-negative by the startOffset and endOffset character indexes in the parsing stream. All other problem handling messages should redirect to this method.

Specified by:
handleProblem in interface ProblemHandler
Parameters:
problemSeverity - text describing the problem severity (e.g. errorSeverity)
processingPhase - optional text describing the processing phase (e.g. analyzerProblem)
problemMessage - message describing the problem
processingContext - optional message describing the reporting context (e.g. "PathNameCS")
startOffset - (inclusive) index of first source character influencing the problem, -ve if unknown
endOffset - (exclusive) index of last source character influencing the problem, -ve if unknown

lexerProblem

public void lexerProblem(ProblemHandler.Severity problemSeverity,
                         String problemMessage,
                         String processingContext,
                         int startOffset,
                         int endOffset)
Description copied from interface: ProblemHandler
Convenience method typically invoking handleProblem with a lexerProblem processing phase.

Specified by:
lexerProblem in interface ProblemHandler
Parameters:
problemSeverity - text describing the problem severity
problemMessage - message describing the problem
processingContext - optional message describing the reporting context (e.g. "PathNameCS")
startOffset - (inclusive) index of first source character influencing the problem, -ve if unknown
endOffset - (exclusive) index of last source character influencing the problem, -ve if unknown

parserProblem

public void parserProblem(ProblemHandler.Severity problemSeverity,
                          String problemMessage,
                          String processingContext,
                          int startOffset,
                          int endOffset)
Description copied from interface: ProblemHandler
Convenience method typically invoking handleProblem with a parserProblem processing phase.

Specified by:
parserProblem in interface ProblemHandler
Parameters:
problemSeverity - text describing the problem severity
problemMessage - message describing the problem
processingContext - optional message describing the reporting context (e.g. "PathNameCS")
startOffset - (inclusive) index of first source character influencing the problem, -ve if unknown
endOffset - (exclusive) index of last source character influencing the problem, -ve if unknown

setErrorReportLineOffset

public void setErrorReportLineOffset(int offset)
Description copied from interface: ProblemHandler
Sets the line offset for reporting errors. E.g,. if an error occurred at line 2, but the offset was set to -1, then line 1 will be reported.

Specified by:
setErrorReportLineOffset in interface ProblemHandler

setParser

public void setParser(AbstractParser parser)
Description copied from interface: ProblemHandler
Define the syntactic parser from which source tokens and text may be obtained.

Specified by:
setParser in interface ProblemHandler

utilityProblem

public void utilityProblem(ProblemHandler.Severity problemSeverity,
                           String problemMessage,
                           String processingContext,
                           int startOffset,
                           int endOffset)
Description copied from interface: ProblemHandler
Convenience method typically invoking handleProblem with a utilityProblem processing phase.

Specified by:
utilityProblem in interface ProblemHandler
Parameters:
problemSeverity - text describing the problem severity
problemMessage - message describing the problem
processingContext - optional message describing the reporting context (e.g. "PathNameCS")
startOffset - (inclusive) index of first source character influencing the problem, -ve if unknown
endOffset - (exclusive) index of last source character influencing the problem, -ve if unknown

validatorProblem

public void validatorProblem(ProblemHandler.Severity problemSeverity,
                             String problemMessage,
                             String processingContext,
                             int startOffset,
                             int endOffset)
Description copied from interface: ProblemHandler
Convenience method typically invoking handleProblem with a validatorProblem processing phase.

Specified by:
validatorProblem in interface ProblemHandler
Parameters:
problemSeverity - text describing the problem severity
problemMessage - message describing the problem
processingContext - optional message describing the reporting context (e.g. "PathNameCS")
startOffset - (inclusive) index of first source character influencing the problem, -ve if unknown
endOffset - (exclusive) index of last source character influencing the problem, -ve if unknown

Copyright 2002, 2007 IBM Corporation and others.
All Rights Reserved.