blob: 41b819d8eff448c35d9cc1b0525635f4687059d4 [file] [log] [blame]
/*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. The ASF licenses this file
* to you under the Apache License, Version 2.0 (the
* "License"); you may not use this file except in compliance
* with the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
*/
package org.apache.ode.bpel.compiler.api;
import org.apache.ode.utils.msg.CommonMessages;
import org.apache.ode.utils.msg.MessageBundle;
/**
* Data structure representing messages emitted from the compiler. These
* typically relate to the status of the compilation (e.g. compile
* errors and the like).
*/
public class CompilationMessage {
/** Informational message. */
public static final short INFO = 0;
/** Warning message. */
public static final short WARN = 1;
/** Error message. */
public static final short ERROR = 2;
/** Compilation phase. */
public short phase;
/** The severity severity. */
public short severity;
/** The message/error code for this message. */
public String code;
/** Internationalized message text. */
public String messageText;
/** The location in the source that caused this error/message/warning */
public SourceLocation source;
/** Common internationalized words. */
private static final CommonMessages __commonMsgs = MessageBundle.getMessages(CommonMessages.class);
private static final String SEVERITY_LEVELS[] = {
__commonMsgs.strInfo().toLowerCase() + ": ",
__commonMsgs.strWarning().toLowerCase() + ": ",
__commonMsgs.strError().toLowerCase() + ": "
};
public CompilationMessage setSource(SourceLocation source) {
this.source = source;
return this;
}
/** Convert to a human-readable error string. */
public String toErrorString() {
StringBuffer buf = new StringBuffer();
if (source != null) {
buf.append(source.getURI());
buf.append(':');
buf.append(source.getLineNo());
buf.append(": ");
}
buf.append(SEVERITY_LEVELS[severity]);
buf.append('[');
buf.append(code);
buf.append("] ");
buf.append(messageText);
return buf.toString();
}
public String toString() {
return "CompilationMessage: " + toErrorString();
}
}