001// License: GPL. See LICENSE file for details. 002package org.openstreetmap.josm.data.validation; 003 004import org.openstreetmap.josm.command.Command; 005import org.openstreetmap.josm.data.osm.OsmPrimitive; 006 007import java.util.Collection; 008 009/** 010 * Validation error easily fixable right at its detection. The fix can be given when constructing the error. 011 * @since 6377 012 */ 013public class FixableTestError extends TestError { 014 protected final Command fix; 015 016 public FixableTestError(Test tester, Severity severity, String message, int code, OsmPrimitive primitive, Command fix) { 017 super(tester, severity, message, code, primitive); 018 this.fix = fix; 019 } 020 021 public FixableTestError(Test tester, Severity severity, String message, int code, Collection<? extends OsmPrimitive> primitives, Command fix) { 022 super(tester, severity, message, code, primitives); 023 this.fix = fix; 024 } 025 026 public FixableTestError(Test tester, Severity severity, String message, int code, Collection<? extends OsmPrimitive> primitives, Collection<?> highlighted, Command fix) { 027 super(tester, severity, message, code, primitives, highlighted); 028 this.fix = fix; 029 } 030 031 public FixableTestError(Test tester, Severity severity, String message, String description, String description_en, int code, OsmPrimitive primitive, Command fix) { 032 super(tester, severity, message, description, description_en, code, primitive); 033 this.fix = fix; 034 } 035 036 public FixableTestError(Test tester, Severity severity, String message, String description, String description_en, int code, Collection<? extends OsmPrimitive> primitives, Command fix) { 037 super(tester, severity, message, description, description_en, code, primitives); 038 this.fix = fix; 039 } 040 041 public FixableTestError(Test tester, Severity severity, String message, String description, String description_en, int code, Collection<? extends OsmPrimitive> primitives, Collection<?> highlighted, Command fix) { 042 super(tester, severity, message, description, description_en, code, primitives, highlighted); 043 this.fix = fix; 044 } 045 046 @Override 047 public Command getFix() { 048 return fix; 049 } 050 051 @Override 052 public final boolean isFixable() { 053 return true; 054 } 055}