aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main/java/com/google/devtools/build/lib/util
diff options
context:
space:
mode:
authorGravatar Googler <noreply@google.com>2017-12-22 09:01:49 -0800
committerGravatar Copybara-Service <copybara-piper@google.com>2017-12-22 09:04:03 -0800
commita016bf66b41338282c1b2d7d8de74bcb1c257b46 (patch)
tree5f7b9a2d5390edfd1c0df0fc71280b1fc99e333f /src/main/java/com/google/devtools/build/lib/util
parent34753fc18b97312606258e330c22924255ae9004 (diff)
Replaces some existing codecs with @AutoCodec.
PiperOrigin-RevId: 179931575
Diffstat (limited to 'src/main/java/com/google/devtools/build/lib/util')
-rw-r--r--src/main/java/com/google/devtools/build/lib/util/RegexFilter.java46
1 files changed, 4 insertions, 42 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/util/RegexFilter.java b/src/main/java/com/google/devtools/build/lib/util/RegexFilter.java
index 07081ebb60..4ae8e7f5c2 100644
--- a/src/main/java/com/google/devtools/build/lib/util/RegexFilter.java
+++ b/src/main/java/com/google/devtools/build/lib/util/RegexFilter.java
@@ -17,12 +17,9 @@ package com.google.devtools.build.lib.util;
import com.google.common.base.Joiner;
import com.google.devtools.build.lib.concurrent.ThreadSafety.Immutable;
import com.google.devtools.build.lib.skyframe.serialization.ObjectCodec;
-import com.google.devtools.build.lib.skyframe.serialization.SerializationException;
+import com.google.devtools.build.lib.skyframe.serialization.autocodec.AutoCodec;
import com.google.devtools.common.options.Converter;
import com.google.devtools.common.options.OptionsParsingException;
-import com.google.protobuf.CodedInputStream;
-import com.google.protobuf.CodedOutputStream;
-import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
import java.util.Objects;
@@ -37,8 +34,11 @@ import javax.annotation.Nullable;
* <p>String is considered to be included into the filter if it does not match any of the excluded
* regex expressions and if it matches at least one included regex expression.
*/
+@AutoCodec
@Immutable
public final class RegexFilter {
+ public static final ObjectCodec<RegexFilter> CODEC = new RegexFilter_AutoCodec();
+
// Null inclusion or exclusion pattern means those patterns are not used.
@Nullable private final Pattern inclusionPattern;
@Nullable private final Pattern exclusionPattern;
@@ -186,42 +186,4 @@ public final class RegexFilter {
public int hashCode() {
return hashCode;
}
-
- public static final ObjectCodec<RegexFilter> CODEC = new Codec();
-
- // TODO(shahan): replace with @AutoCodec once it's ready.
- private static class Codec implements ObjectCodec<RegexFilter> {
-
- @Override
- public Class<RegexFilter> getEncodedClass() {
- return RegexFilter.class;
- }
-
- @Override
- public void serialize(RegexFilter filter, CodedOutputStream codedOut)
- throws SerializationException, IOException {
- serializeFilterString(filter.getInclusionRegex(), codedOut);
- serializeFilterString(filter.getExclusionRegex(), codedOut);
- }
-
- private void serializeFilterString(@Nullable String regex, CodedOutputStream codedOut)
- throws IOException {
- if (regex == null) {
- codedOut.writeBoolNoTag(false);
- } else {
- codedOut.writeBoolNoTag(true);
- codedOut.writeStringNoTag(regex);
- }
- }
-
- @Override
- public RegexFilter deserialize(CodedInputStream codedIn)
- throws SerializationException, IOException {
- return new RegexFilter(deserializeFilterString(codedIn), deserializeFilterString(codedIn));
- }
-
- private String deserializeFilterString(CodedInputStream codedIn) throws IOException {
- return codedIn.readBool() ? codedIn.readString() : null;
- }
- }
}