/******************************************************************************* * Copyright (c) 2010, 2015 Oracle. All rights reserved. * This program and the accompanying materials are made available under the * terms of the Eclipse Public License v1.0, which accompanies this distribution * and is available at http://www.eclipse.org/legal/epl-v10.html. * * Contributors: * Oracle - initial API and implementation ******************************************************************************/ package org.eclipse.jpt.jpa.core.internal.jpa1.context.java; import java.util.List; import org.eclipse.jpt.common.core.resource.java.JavaResourceAttribute; import org.eclipse.jpt.common.core.utility.TextRange; import org.eclipse.jpt.jpa.core.context.Converter; import org.eclipse.jpt.jpa.core.context.java.JavaAttributeMapping; import org.eclipse.jpt.jpa.core.context.java.JavaConverter; import org.eclipse.jpt.jpa.core.internal.context.java.AbstractJavaContextModel; import org.eclipse.wst.validation.internal.provisional.core.IMessage; import org.eclipse.wst.validation.internal.provisional.core.IReporter; public abstract class AbstractJavaConverter extends AbstractJavaContextModel implements JavaConverter { protected final Converter.ParentAdapter parentAdapter; protected AbstractJavaConverter(Converter.ParentAdapter parentAdapter) { super(parentAdapter.getConverterParent()); this.parentAdapter = parentAdapter; } // ********** validation ********** @Override public void validate(List messages, IReporter reporter) { super.validate(messages, reporter); this.parentAdapter.buildValidator(this).validate(messages, reporter); } public TextRange getValidationTextRange() { TextRange textRange = this.getAnnotationTextRange(); return (textRange != null) ? textRange : this.getAttributeMapping().getValidationTextRange(); } protected TextRange getAnnotationTextRange() { return this.getConverterAnnotation().getTextRange(); } // ********** misc ********** protected JavaAttributeMapping getAttributeMapping() { return this.parent; } protected JavaResourceAttribute getResourceAttribute() { return this.getAttributeMapping().getResourceAttribute(); } }