5: Create BasePlugin and Issue

This commit is contained in:
Bartłomiej Pluta
2019-03-31 14:51:10 +02:00
parent bed8628ba6
commit e1a37f9878
2 changed files with 49 additions and 0 deletions

View File

@@ -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<Issue> issues = new ArrayList<>();
private File file;
public void update(File file) {
this.file = file;
}
public List<Issue> 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);
}
}

View File

@@ -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;
}