/* * JBoss, Home of Professional Open Source. * * See the LEGAL.txt file distributed with this work for information regarding copyright ownership and licensing. * * See the AUTHORS.txt file distributed with this work for a full listing of individual contributors. */ package org.teiid.designer.core.validation; /** * ValidationResult * * @since 8.0 */ public interface ValidationResult { /** * Get the target EObject for which this result has be created * @return an EObject for the validationResult */ Object getTarget(); /** * Return the array of ValidationProblems-never null * @return the array of ValidationProblems-never null */ ValidationProblem[] getProblems(); /** * Checks if the result has any validation problems * @return a boolean indicating any validation problems */ boolean hasProblems(); /** * Add the given problem to the array of ValidationProblems * @param problem */ void addProblem(final ValidationProblem problem); /** * Check if the current result has contains fatal problems, * if the result is fatal furthur validation of the EObject should * stop. * @param eObject The eObject that is fatal. * @return true if the result has problems of ERROR sevierity */ boolean isFatalObject(Object eObject); /** * Check if the result is fatal and furthure validation of the Resource * should stop. * @return true if any of the rules determine that the current * resource should not be validated any furthur. */ boolean isFatalResource(); /** * Set the flag indicating that the resource has a fatal problem and * furthure validation should stop. * @param true if any of the rules determine that the current * resource should not be validated any furthur. */ void setFatalResource(boolean fatal); /** * Return a string representing the path within the model to the * entity containing the error. The returned value is a logical path * and should not be used for EObject resolution. * @return location string. May be null. */ String getLocationPath(); /** * Set the string representing the path within the model to the * entity containing the error. * @param locationPath path within the model; may be null. */ void setLocationPath(String locationPath); /** * Return the URI fragment used to locate the EObject that logically * contains the error. The logical location represents the visual * entity within the primary model and may not be the same as the target * location. The EObject can be found by calling * <p> * <code>ModelerCore.getModelContainer().getEObject(uriFragment, false);</code> * </p> * @return location uri fragment. May be null. */ String getLocationUri(); /** * Return the URI fragment used to locate the EObject that is the target of * the error. The EObject can be found by calling * <p> * <code>ModelerCore.getModelContainer().getEObject(uriFragment, false);</code> * </p> * @return target uri fragment. May be null. */ String getTargetUri(); }