Skip to content

Commit fa4a12b

Browse files
committed
lazy load jsonParser and yamlParser FlagFileParser
1 parent d1f0434 commit fa4a12b

File tree

1 file changed

+7
-3
lines changed

1 file changed

+7
-3
lines changed

lib/sdk/server/src/main/java/com/launchdarkly/sdk/server/integrations/FileDataSourceParsing.java

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -72,14 +72,18 @@ static final class FlagFileRep {
7272
}
7373

7474
static abstract class FlagFileParser {
75-
private static final FlagFileParser jsonParser = new JsonFlagFileParser();
76-
private static final FlagFileParser yamlParser = new YamlFlagFileParser();
75+
static class JsonParserHolder {
76+
static final FlagFileParser INSTANCE = new JsonFlagFileParser();
77+
}
78+
static class YamlParserHolder {
79+
static final FlagFileParser INSTANCE = new YamlFlagFileParser();
80+
}
7781

7882
public abstract FlagFileRep parse(InputStream input) throws FileDataException, IOException;
7983

8084
public static FlagFileParser selectForContent(byte[] data) {
8185
Reader r = new InputStreamReader(new ByteArrayInputStream(data));
82-
return detectJson(r) ? jsonParser : yamlParser;
86+
return detectJson(r) ? JsonParserHolder.INSTANCE : YamlParserHolder.INSTANCE;
8387
}
8488

8589
private static boolean detectJson(Reader r) {

0 commit comments

Comments
 (0)