From e1a37f9878a01c3a2a4ccd0314450fc78074e172 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bart=C5=82omiej=20Pluta?= Date: Sun, 31 Mar 2019 14:51:10 +0200 Subject: [PATCH] 5: Create BasePlugin and Issue --- .../bartek/esa/core/archetype/BasePlugin.java | 34 +++++++++++++++++++ .../java/com/bartek/esa/core/model/Issue.java | 15 ++++++++ 2 files changed, 49 insertions(+) create mode 100644 src/main/java/com/bartek/esa/core/archetype/BasePlugin.java create mode 100644 src/main/java/com/bartek/esa/core/model/Issue.java diff --git a/src/main/java/com/bartek/esa/core/archetype/BasePlugin.java b/src/main/java/com/bartek/esa/core/archetype/BasePlugin.java new file mode 100644 index 0000000..32d5338 --- /dev/null +++ b/src/main/java/com/bartek/esa/core/archetype/BasePlugin.java @@ -0,0 +1,34 @@ +package com.bartek.esa.core.archetype; + +import com.bartek.esa.core.model.Issue; + +import java.io.File; +import java.util.ArrayList; +import java.util.List; + +public abstract class BasePlugin { + private List issues = new ArrayList<>(); + private File file; + + public void update(File file) { + this.file = file; + } + + public List runForIssues() { + run(file); + return issues; + } + + protected abstract void run(File file); + + protected void addIssue(int lineNumber, String line) { + Issue issue = Issue.builder() + .issuer(this.getClass()) + .file(file) + .lineNumber(lineNumber) + .line(line) + .build(); + + issues.add(issue); + } +} diff --git a/src/main/java/com/bartek/esa/core/model/Issue.java b/src/main/java/com/bartek/esa/core/model/Issue.java new file mode 100644 index 0000000..c364f6f --- /dev/null +++ b/src/main/java/com/bartek/esa/core/model/Issue.java @@ -0,0 +1,15 @@ +package com.bartek.esa.core.model; + +import lombok.Builder; +import lombok.Data; + +import java.io.File; + +@Data +@Builder +public class Issue { + private final Class issuer; + private final File file; + private final int lineNumber; + private final String line; +}