aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/app/src/main/java/com/wireguard/config/Attribute.java
diff options
context:
space:
mode:
authorSamuel Holland <samuel@sholland.org>2018-01-01 02:06:37 -0600
committerSamuel Holland <samuel@sholland.org>2018-01-06 04:09:29 -0600
commit609194fae2332e6f2ccd7a4464bfa492ad661a6f (patch)
tree96a7cd9846a093dfcdacfef285b0a4d77000edf0 /app/src/main/java/com/wireguard/config/Attribute.java
parentRename package widgets -> widget (diff)
downloadwireguard-android-609194fae2332e6f2ccd7a4464bfa492ad661a6f.tar.xz
wireguard-android-609194fae2332e6f2ccd7a4464bfa492ad661a6f.zip
Serviceless rewrite, part 1
Signed-off-by: Samuel Holland <samuel@sholland.org>
Diffstat (limited to 'app/src/main/java/com/wireguard/config/Attribute.java')
-rw-r--r--app/src/main/java/com/wireguard/config/Attribute.java30
1 files changed, 15 insertions, 15 deletions
diff --git a/app/src/main/java/com/wireguard/config/Attribute.java b/app/src/main/java/com/wireguard/config/Attribute.java
index b2aa0d53..ee7fea33 100644
--- a/app/src/main/java/com/wireguard/config/Attribute.java
+++ b/app/src/main/java/com/wireguard/config/Attribute.java
@@ -21,38 +21,38 @@ enum Attribute {
PRIVATE_KEY("PrivateKey"),
PUBLIC_KEY("PublicKey");
- private static final Map<String, Attribute> map;
+ private static final Map<String, Attribute> KEY_MAP;
+ private static final Pattern SEPARATOR_PATTERN = Pattern.compile("\\s|=");
static {
- map = new HashMap<>(Attribute.values().length);
- for (final Attribute key : Attribute.values())
- map.put(key.getToken(), key);
+ KEY_MAP = new HashMap<>(Attribute.values().length);
+ for (final Attribute key : Attribute.values()) {
+ KEY_MAP.put(key.token, key);
+ }
}
- public static Attribute match(final String line) {
- return map.get(line.split("\\s|=")[0]);
- }
-
- private final String token;
private final Pattern pattern;
+ private final String token;
Attribute(final String token) {
pattern = Pattern.compile(token + "\\s*=\\s*(\\S.*)");
this.token = token;
}
- public String composeWith(final String value) {
- return token + " = " + value + "\n";
+ public static Attribute match(final CharSequence line) {
+ return KEY_MAP.get(SEPARATOR_PATTERN.split(line)[0]);
+ }
+
+ public String composeWith(final Object value) {
+ return String.format("%s = %s%n", token, value);
}
public String getToken() {
return token;
}
- public String parseFrom(final String line) {
+ public String parse(final CharSequence line) {
final Matcher matcher = pattern.matcher(line);
- if (matcher.matches())
- return matcher.group(1);
- return null;
+ return matcher.matches() ? matcher.group(1) : null;
}
}