diff --git a/src/main/java/com/moandjiezana/toml/values/ArrayParser.java b/src/main/java/com/moandjiezana/toml/ArrayParser.java similarity index 93% rename from src/main/java/com/moandjiezana/toml/values/ArrayParser.java rename to src/main/java/com/moandjiezana/toml/ArrayParser.java index 6d5752d..07d2f75 100644 --- a/src/main/java/com/moandjiezana/toml/values/ArrayParser.java +++ b/src/main/java/com/moandjiezana/toml/ArrayParser.java @@ -1,6 +1,6 @@ -package com.moandjiezana.toml.values; +package com.moandjiezana.toml; -import static com.moandjiezana.toml.values.ValueConverter.INVALID; +import static com.moandjiezana.toml.ValueParserUtils.INVALID; import java.util.ArrayList; import java.util.List; @@ -9,8 +9,6 @@ import org.parboiled.Parboiled; import org.parboiled.parserunners.BasicParseRunner; import org.parboiled.support.ParsingResult; -import com.moandjiezana.toml.StatementParser; - class ArrayParser implements ValueParser { static final ArrayParser ARRAY_PARSER = new ArrayParser(); diff --git a/src/main/java/com/moandjiezana/toml/values/BooleanParser.java b/src/main/java/com/moandjiezana/toml/BooleanParser.java similarity index 82% rename from src/main/java/com/moandjiezana/toml/values/BooleanParser.java rename to src/main/java/com/moandjiezana/toml/BooleanParser.java index cc20d93..592228e 100644 --- a/src/main/java/com/moandjiezana/toml/values/BooleanParser.java +++ b/src/main/java/com/moandjiezana/toml/BooleanParser.java @@ -1,4 +1,6 @@ -package com.moandjiezana.toml.values; +package com.moandjiezana.toml; + +import static com.moandjiezana.toml.ValueParserUtils.INVALID; class BooleanParser implements ValueParser { @@ -13,7 +15,7 @@ class BooleanParser implements ValueParser { public Object parse(String s) { if (s.startsWith("true") && !ValueParserUtils.isComment(s.substring(4)) || s.startsWith("false") && !ValueParserUtils.isComment(s.substring(5))) { - return ValueConverter.INVALID; + return INVALID; } return s.startsWith("true") ? Boolean.TRUE : Boolean.FALSE; diff --git a/src/main/java/com/moandjiezana/toml/values/DateParser.java b/src/main/java/com/moandjiezana/toml/DateParser.java similarity index 85% rename from src/main/java/com/moandjiezana/toml/values/DateParser.java rename to src/main/java/com/moandjiezana/toml/DateParser.java index 168401b..ff9684b 100644 --- a/src/main/java/com/moandjiezana/toml/values/DateParser.java +++ b/src/main/java/com/moandjiezana/toml/DateParser.java @@ -1,12 +1,12 @@ -package com.moandjiezana.toml.values; +package com.moandjiezana.toml; -import static com.moandjiezana.toml.values.ValueConverter.INVALID; +import static com.moandjiezana.toml.ValueParserUtils.INVALID; import java.text.SimpleDateFormat; import java.util.regex.Matcher; import java.util.regex.Pattern; -public class DateParser implements ValueParser { +class DateParser implements ValueParser { static final DateParser DATE_PARSER = new DateParser(); private static final Pattern DATE_REGEX = Pattern.compile("(\\d{4}-[0-1][0-9]-[0-3][0-9]T[0-2][0-9]:[0-5][0-9]:[0-5][0-9]Z)(.*)"); diff --git a/src/main/java/com/moandjiezana/toml/values/FloatParser.java b/src/main/java/com/moandjiezana/toml/FloatParser.java similarity index 87% rename from src/main/java/com/moandjiezana/toml/values/FloatParser.java rename to src/main/java/com/moandjiezana/toml/FloatParser.java index 91d200a..682b51a 100644 --- a/src/main/java/com/moandjiezana/toml/values/FloatParser.java +++ b/src/main/java/com/moandjiezana/toml/FloatParser.java @@ -1,9 +1,9 @@ -package com.moandjiezana.toml.values; +package com.moandjiezana.toml; import java.util.regex.Matcher; import java.util.regex.Pattern; -public class FloatParser implements ValueParser { +class FloatParser implements ValueParser { public static final FloatParser FLOAT_PARSER = new FloatParser(); private static final Pattern FLOAT_REGEX = Pattern.compile("(-?\\d+\\.\\d+)(.*)"); diff --git a/src/main/java/com/moandjiezana/toml/values/IntegerParser.java b/src/main/java/com/moandjiezana/toml/IntegerParser.java similarity index 76% rename from src/main/java/com/moandjiezana/toml/values/IntegerParser.java rename to src/main/java/com/moandjiezana/toml/IntegerParser.java index dff3a9c..2519b34 100644 --- a/src/main/java/com/moandjiezana/toml/values/IntegerParser.java +++ b/src/main/java/com/moandjiezana/toml/IntegerParser.java @@ -1,11 +1,11 @@ -package com.moandjiezana.toml.values; +package com.moandjiezana.toml; -import static com.moandjiezana.toml.values.ValueParserUtils.isComment; +import static com.moandjiezana.toml.ValueParserUtils.isComment; import java.util.regex.Matcher; import java.util.regex.Pattern; -public class IntegerParser implements ValueParser { +class IntegerParser implements ValueParser { private static final Pattern INTEGER_REGEX = Pattern.compile("(-?[0-9]*)(.*)"); static final IntegerParser INTEGER_PARSER = new IntegerParser(); @@ -25,4 +25,5 @@ public class IntegerParser implements ValueParser { return Long.valueOf(matcher.group(1)); } + private IntegerParser() {} } diff --git a/src/main/java/com/moandjiezana/toml/Results.java b/src/main/java/com/moandjiezana/toml/Results.java index 5af3a64..e201f9d 100644 --- a/src/main/java/com/moandjiezana/toml/Results.java +++ b/src/main/java/com/moandjiezana/toml/Results.java @@ -7,15 +7,15 @@ import java.util.Map; import java.util.Set; class Results { - public Set tables = new HashSet(); - public StringBuilder errors = new StringBuilder(); + Set tables = new HashSet(); + StringBuilder errors = new StringBuilder(); private Deque stack = new ArrayDeque(); - public Results() { + Results() { stack.push(new Container.Table()); } - public void addValue(String key, Object value) { + void addValue(String key, Object value) { Container currentTable = stack.peek(); if (currentTable.accepts(key)) { currentTable.put(key, value); @@ -24,7 +24,7 @@ class Results { } } - public void startTableArray(String tableName) { + void startTableArray(String tableName) { while (stack.size() > 1) { stack.pop(); } @@ -62,7 +62,7 @@ class Results { } } - public void startTables(String tableName) { + void startTables(String tableName) { if (!tables.add(tableName)) { errors.append("Table " + tableName + " defined twice!\n"); } @@ -95,7 +95,7 @@ class Results { /** * Warning: After this method has been called, this instance is no longer usable. */ - public Map consume() { + Map consume() { Container values = stack.getLast(); stack.clear(); diff --git a/src/main/java/com/moandjiezana/toml/StatementParser.java b/src/main/java/com/moandjiezana/toml/StatementParser.java index d917ac1..9967b73 100644 --- a/src/main/java/com/moandjiezana/toml/StatementParser.java +++ b/src/main/java/com/moandjiezana/toml/StatementParser.java @@ -7,7 +7,7 @@ import org.parboiled.BaseParser; import org.parboiled.Rule; import org.parboiled.annotations.SuppressNode; -public class StatementParser extends BaseParser> { +class StatementParser extends BaseParser> { public Rule Array() { return FirstOf(EmptyArray(), Sequence('[', startList(), OneOrMore(FirstOf(NonEmptyArray(), ' ', ',')), ']', endList())); diff --git a/src/main/java/com/moandjiezana/toml/values/StringParser.java b/src/main/java/com/moandjiezana/toml/StringParser.java similarity index 91% rename from src/main/java/com/moandjiezana/toml/values/StringParser.java rename to src/main/java/com/moandjiezana/toml/StringParser.java index 1d66cfb..f801138 100644 --- a/src/main/java/com/moandjiezana/toml/values/StringParser.java +++ b/src/main/java/com/moandjiezana/toml/StringParser.java @@ -1,7 +1,7 @@ -package com.moandjiezana.toml.values; +package com.moandjiezana.toml; -import static com.moandjiezana.toml.values.ValueConverter.INVALID; -import static com.moandjiezana.toml.values.ValueParserUtils.isComment; +import static com.moandjiezana.toml.ValueParserUtils.INVALID; +import static com.moandjiezana.toml.ValueParserUtils.isComment; import java.util.regex.Matcher; import java.util.regex.Pattern; diff --git a/src/main/java/com/moandjiezana/toml/TomlParser.java b/src/main/java/com/moandjiezana/toml/TomlParser.java index e145c92..3c7372c 100644 --- a/src/main/java/com/moandjiezana/toml/TomlParser.java +++ b/src/main/java/com/moandjiezana/toml/TomlParser.java @@ -1,6 +1,6 @@ package com.moandjiezana.toml; -import static com.moandjiezana.toml.values.ValueConverter.INVALID; +import static com.moandjiezana.toml.ValueParserUtils.INVALID; import java.util.List; import java.util.regex.Pattern; @@ -9,16 +9,14 @@ import org.parboiled.Parboiled; import org.parboiled.parserunners.BasicParseRunner; import org.parboiled.support.ParsingResult; -import com.moandjiezana.toml.values.ValueConverter; - -public class TomlParser { +class TomlParser { private static final Pattern MULTILINE_ARRAY_REGEX = Pattern.compile("\\s*\\[([^\\]]*)"); private static final Pattern MULTILINE_ARRAY_REGEX_END = Pattern.compile("\\s*\\]"); private static final ValueConverter VALUE_ANALYSIS = new ValueConverter(); private final Results results = new Results(); - public Results run(String tomlString) { + Results run(String tomlString) { if (tomlString.isEmpty()) { return results; } diff --git a/src/main/java/com/moandjiezana/toml/values/ValueConverter.java b/src/main/java/com/moandjiezana/toml/ValueConverter.java similarity index 53% rename from src/main/java/com/moandjiezana/toml/values/ValueConverter.java rename to src/main/java/com/moandjiezana/toml/ValueConverter.java index d5d4187..2b6c772 100644 --- a/src/main/java/com/moandjiezana/toml/values/ValueConverter.java +++ b/src/main/java/com/moandjiezana/toml/ValueConverter.java @@ -1,14 +1,14 @@ -package com.moandjiezana.toml.values; +package com.moandjiezana.toml; -import static com.moandjiezana.toml.values.ArrayParser.ARRAY_PARSER; -import static com.moandjiezana.toml.values.BooleanParser.BOOLEAN_PARSER; -import static com.moandjiezana.toml.values.DateParser.DATE_PARSER; -import static com.moandjiezana.toml.values.FloatParser.FLOAT_PARSER; -import static com.moandjiezana.toml.values.IntegerParser.INTEGER_PARSER; -import static com.moandjiezana.toml.values.StringParser.STRING_PARSER; +import static com.moandjiezana.toml.ArrayParser.ARRAY_PARSER; +import static com.moandjiezana.toml.BooleanParser.BOOLEAN_PARSER; +import static com.moandjiezana.toml.DateParser.DATE_PARSER; +import static com.moandjiezana.toml.FloatParser.FLOAT_PARSER; +import static com.moandjiezana.toml.IntegerParser.INTEGER_PARSER; +import static com.moandjiezana.toml.StringParser.STRING_PARSER; +import static com.moandjiezana.toml.ValueParserUtils.INVALID; -public class ValueConverter { - public static final Object INVALID = new Object(); +class ValueConverter { public Object convert(String value) { if (STRING_PARSER.canParse(value)) { diff --git a/src/main/java/com/moandjiezana/toml/ValueParser.java b/src/main/java/com/moandjiezana/toml/ValueParser.java new file mode 100644 index 0000000..521b93e --- /dev/null +++ b/src/main/java/com/moandjiezana/toml/ValueParser.java @@ -0,0 +1,7 @@ +package com.moandjiezana.toml; + +interface ValueParser { + + boolean canParse(String s); + Object parse(String s); +} diff --git a/src/main/java/com/moandjiezana/toml/values/ValueParserUtils.java b/src/main/java/com/moandjiezana/toml/ValueParserUtils.java similarity index 82% rename from src/main/java/com/moandjiezana/toml/values/ValueParserUtils.java rename to src/main/java/com/moandjiezana/toml/ValueParserUtils.java index 0034401..9dd62cd 100644 --- a/src/main/java/com/moandjiezana/toml/values/ValueParserUtils.java +++ b/src/main/java/com/moandjiezana/toml/ValueParserUtils.java @@ -1,6 +1,7 @@ -package com.moandjiezana.toml.values; +package com.moandjiezana.toml; class ValueParserUtils { + static final Object INVALID = new Object(); static boolean isComment(String line) { if (line == null || line.isEmpty()) { diff --git a/src/main/java/com/moandjiezana/toml/values/ValueParser.java b/src/main/java/com/moandjiezana/toml/values/ValueParser.java deleted file mode 100644 index 9920bce..0000000 --- a/src/main/java/com/moandjiezana/toml/values/ValueParser.java +++ /dev/null @@ -1,7 +0,0 @@ -package com.moandjiezana.toml.values; - -public interface ValueParser { - - boolean canParse(String s); - Object parse(String s); -}