import javax.annotation.processing.Filer;
import javax.lang.model.element.Element;
+import java.io.BufferedReader;
+import java.io.IOException;
+import java.io.Reader;
import java.util.Map;
import java.util.Set;
+import java.util.regex.Pattern;
/**
* It's a storage (database) that persists {@link org.pf4j.Extension}s.
*/
public abstract class ExtensionStorage {
+ private static final Pattern COMMENT = Pattern.compile("#.*");
+ private static final Pattern WHITESPACE = Pattern.compile("\\s+");
+
protected final ExtensionAnnotationProcessor processor;
public ExtensionStorage(ExtensionAnnotationProcessor processor) {
processor.info(element, message, args);
}
+ public static void read(Reader reader, Set<String> entries) throws IOException {
+ BufferedReader bufferedReader = new BufferedReader(reader);
+
+ String line;
+ while ((line = bufferedReader.readLine()) != null) {
+ line = COMMENT.matcher(line).replaceFirst("");
+ line = WHITESPACE.matcher(line).replaceAll("");
+ if (line.length() > 0) {
+ entries.add(line);
+ }
+ }
+
+ bufferedReader.close();
+ }
+
}
import javax.annotation.processing.FilerException;
import javax.tools.FileObject;
import javax.tools.StandardLocation;
-import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.FileNotFoundException;
import java.io.IOException;
-import java.io.Reader;
import java.nio.file.NoSuchFileException;
import java.util.HashMap;
import java.util.HashSet;
import java.util.Map;
import java.util.Set;
-import java.util.regex.Pattern;
/**
* Stores {@link org.pf4j.Extension}s in {@code META-INF/extensions.idx}.
public static final String EXTENSIONS_RESOURCE = "META-INF/extensions.idx";
- private static final Pattern COMMENT = Pattern.compile("#.*");
- private static final Pattern WHITESPACE = Pattern.compile("\\s+");
-
public LegacyExtensionStorage(ExtensionAnnotationProcessor processor) {
super(processor);
}
- public static void read(Reader reader, Set<String> entries) throws IOException {
- BufferedReader bufferedReader = new BufferedReader(reader);
-
- String line;
- while ((line = bufferedReader.readLine()) != null) {
- line = COMMENT.matcher(line).replaceFirst("");
- line = WHITESPACE.matcher(line).replaceAll("");
- if (line.length() > 0) {
- entries.add(line);
- }
- }
-
- bufferedReader.close();
- }
-
@Override
public Map<String, Set<String>> read() {
Map<String, Set<String>> extensions = new HashMap<>();
import javax.annotation.processing.FilerException;
import javax.tools.FileObject;
import javax.tools.StandardLocation;
-import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.FileNotFoundException;
import java.io.IOException;
-import java.io.Reader;
import java.nio.file.NoSuchFileException;
import java.util.HashMap;
import java.util.HashSet;
import java.util.Map;
import java.util.Set;
-import java.util.regex.Pattern;
/**
* Stores {@link org.pf4j.Extension}s in {@code META-INF/services}.
public static final String EXTENSIONS_RESOURCE = "META-INF/services";
- private static final Pattern COMMENT = Pattern.compile("#.*");
- private static final Pattern WHITESPACE = Pattern.compile("\\s+");
-
public ServiceProviderExtensionStorage(ExtensionAnnotationProcessor processor) {
super(processor);
}
- public static void read(Reader reader, Set<String> entries) throws IOException {
- BufferedReader bufferedReader = new BufferedReader(reader);
-
- String line;
- while ((line = bufferedReader.readLine()) != null) {
- line = COMMENT.matcher(line).replaceFirst("");
- line = WHITESPACE.matcher(line).replaceAll("");
- if (line.length() > 0) {
- entries.add(line);
- }
- }
-
- bufferedReader.close();
- }
-
@Override
public Map<String, Set<String>> read() {
Map<String, Set<String>> extensions = new HashMap<>();