blob: 2322c545a096a304bdd68920a1a471e4f03685bd [file] [log] [blame]
package org.eclipse.jpt.jaxb.eclipselink.core.internal.context.java;
import java.util.List;
import org.eclipse.jdt.core.dom.CompilationUnit;
import org.eclipse.jpt.common.core.resource.java.JavaResourceMethod;
import org.eclipse.jpt.jaxb.core.context.XmlRegistry;
import org.eclipse.jpt.jaxb.core.internal.context.java.GenericJavaElementFactoryMethod;
import org.eclipse.jpt.jaxb.core.resource.java.JAXB;
import org.eclipse.jpt.jaxb.eclipselink.core.internal.validation.ELJaxbValidationMessageBuilder;
import org.eclipse.jpt.jaxb.eclipselink.core.internal.validation.ELJaxbValidationMessages;
import org.eclipse.wst.validation.internal.provisional.core.IMessage;
public class ELJavaElementFactoryMethod
extends GenericJavaElementFactoryMethod {
public ELJavaElementFactoryMethod(XmlRegistry parent, JavaResourceMethod resourceMethod) {
super(parent, resourceMethod);
}
@Override
protected void validateMethodReturnType(
JavaResourceMethod resourceMethod, List<IMessage> messages, CompilationUnit astRoot) {
if (! resourceMethod.typeIsSubTypeOf(JAXB.JAXB_ELEMENT)) {
messages.add(
ELJaxbValidationMessageBuilder.buildMessage(
IMessage.HIGH_SEVERITY,
ELJaxbValidationMessages.XML_ELEMENT_DECL__INVALID_METHOD_SIGNATURE_RETURN_TYPE,
this,
getValidationTextRange(astRoot)));
}
}
}