package pl.touk.sputnik.review; import lombok.Getter; import lombok.ToString; import org.apache.commons.lang3.StringUtils; import org.jetbrains.annotations.NotNull; import java.io.File; import java.util.ArrayList; import java.util.List; import java.util.regex.Pattern; import static pl.touk.sputnik.review.Paths.*; @Getter @ToString public class ReviewFile { private static final Pattern ENTRY_PATTERN = Pattern.compile(ENTRY_REGEX); private final String reviewFilename; private final String javaClassName; private final File ioFile; private final List<Comment> comments = new ArrayList<>(); public ReviewFile(@NotNull String reviewFilename) { this.reviewFilename = reviewFilename; this.javaClassName = createJavaClassName(); this.ioFile = new File(reviewFilename); } @NotNull public String getSourceDir() { return StringUtils.substringBeforeLast(reviewFilename, JAVA).concat(JAVA); } @NotNull private String createJavaClassName() { return StringUtils.substringBeforeLast(ENTRY_PATTERN.matcher(reviewFilename).replaceFirst(""), DOT).replace('/', '.'); } }