5: Create BasePlugin and Issue
This commit is contained in:
34
src/main/java/com/bartek/esa/core/archetype/BasePlugin.java
Normal file
34
src/main/java/com/bartek/esa/core/archetype/BasePlugin.java
Normal 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);
|
||||
}
|
||||
}
|
||||
15
src/main/java/com/bartek/esa/core/model/Issue.java
Normal file
15
src/main/java/com/bartek/esa/core/model/Issue.java
Normal 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;
|
||||
}
|
||||
Reference in New Issue
Block a user