diff options
author | corysmith <corysmith@google.com> | 2017-05-15 16:56:01 +0200 |
---|---|---|
committer | Dmitry Lomov <dslomov@google.com> | 2017-05-15 19:51:22 +0200 |
commit | da6bbce1ee317f3b4d7ca245058049ab2a032848 (patch) | |
tree | c32d28b144454f8ad1ed6c96ab7cebe2f89bb836 /src/tools/android/java/com/google/devtools/build/android/xml | |
parent | 296cd4913d40b756e29fbe0aa6055addf228da6d (diff) |
Further Refactoring/Yak Shaving
* Extract the FieldInitializer with placeholder ids from the
AndroidResourceClassWriter
* Extract a resource sink interface from the AndroidResourceClassWriter (a little renaming, the change isn't actually that big.)
RELNOTES: None
PiperOrigin-RevId: 156053478
Diffstat (limited to 'src/tools/android/java/com/google/devtools/build/android/xml')
9 files changed, 41 insertions, 58 deletions
diff --git a/src/tools/android/java/com/google/devtools/build/android/xml/ArrayXmlResourceValue.java b/src/tools/android/java/com/google/devtools/build/android/xml/ArrayXmlResourceValue.java index 721cd29715..e3f5571c7d 100644 --- a/src/tools/android/java/com/google/devtools/build/android/xml/ArrayXmlResourceValue.java +++ b/src/tools/android/java/com/google/devtools/build/android/xml/ArrayXmlResourceValue.java @@ -19,7 +19,7 @@ import com.google.common.collect.ImmutableList; import com.google.common.collect.ImmutableMap; import com.google.devtools.build.android.AndroidDataWritingVisitor; import com.google.devtools.build.android.AndroidDataWritingVisitor.ValuesResourceDefinition; -import com.google.devtools.build.android.AndroidResourceClassWriter; +import com.google.devtools.build.android.AndroidResourceSymbolSink; import com.google.devtools.build.android.DataSource; import com.google.devtools.build.android.FullyQualifiedName; import com.google.devtools.build.android.XmlResourceValue; @@ -66,7 +66,7 @@ public class ArrayXmlResourceValue implements XmlResourceValue { ARRAY(TAG_ARRAY), STRING_ARRAY(TAG_STRING_ARRAY); - public QName tagName; + public final QName tagName; ArrayType(QName tagName) { this.tagName = tagName; @@ -183,9 +183,8 @@ public class ArrayXmlResourceValue implements XmlResourceValue { } @Override - public void writeResourceToClass(FullyQualifiedName key, - AndroidResourceClassWriter resourceClassWriter) { - resourceClassWriter.writeSimpleResource(key.type(), key.name()); + public void writeResourceToClass(FullyQualifiedName key, AndroidResourceSymbolSink sink) { + sink.acceptSimpleResource(key.type(), key.name()); } public static XmlResourceValue parseArray( diff --git a/src/tools/android/java/com/google/devtools/build/android/xml/AttrXmlResourceValue.java b/src/tools/android/java/com/google/devtools/build/android/xml/AttrXmlResourceValue.java index 252b4cbac6..6be244b115 100644 --- a/src/tools/android/java/com/google/devtools/build/android/xml/AttrXmlResourceValue.java +++ b/src/tools/android/java/com/google/devtools/build/android/xml/AttrXmlResourceValue.java @@ -28,7 +28,7 @@ import com.google.common.collect.Ordering; import com.google.devtools.build.android.AndroidDataWritingVisitor; import com.google.devtools.build.android.AndroidDataWritingVisitor.StartTag; import com.google.devtools.build.android.AndroidDataWritingVisitor.ValuesResourceDefinition; -import com.google.devtools.build.android.AndroidResourceClassWriter; +import com.google.devtools.build.android.AndroidResourceSymbolSink; import com.google.devtools.build.android.DataSource; import com.google.devtools.build.android.FullyQualifiedName; import com.google.devtools.build.android.XmlResourceValue; @@ -330,13 +330,12 @@ public class AttrXmlResourceValue implements XmlResourceValue { } @Override - public void writeResourceToClass(FullyQualifiedName key, - AndroidResourceClassWriter resourceClassWriter) { - resourceClassWriter.writeSimpleResource(key.type(), key.name()); + public void writeResourceToClass(FullyQualifiedName key, AndroidResourceSymbolSink sink) { + sink.acceptSimpleResource(key.type(), key.name()); // Flags and enums generate ID fields. if (formats.keySet().contains(FLAGS) || formats.keySet().contains(ENUM)) { for (ResourceXmlAttrValue value : formats.values()) { - value.writeToClass(resourceClassWriter); + value.writeToClass(sink); } } } @@ -372,7 +371,7 @@ public class AttrXmlResourceValue implements XmlResourceValue { SerializeFormat.DataValueXml appendTo(SerializeFormat.DataValueXml.Builder builder); - void writeToClass(AndroidResourceClassWriter writer); + void writeToClass(AndroidResourceSymbolSink writer); } // TODO(corysmith): The ResourceXmlAttrValue implementors, other than enum and flag, share a @@ -443,9 +442,9 @@ public class AttrXmlResourceValue implements XmlResourceValue { } @Override - public void writeToClass(AndroidResourceClassWriter writer) { + public void writeToClass(AndroidResourceSymbolSink writer) { for (Map.Entry<String, String> entry : values.entrySet()) { - writer.writeSimpleResource(ResourceType.ID, entry.getKey()); + writer.acceptSimpleResource(ResourceType.ID, entry.getKey()); } } } @@ -516,9 +515,9 @@ public class AttrXmlResourceValue implements XmlResourceValue { } @Override - public void writeToClass(AndroidResourceClassWriter writer) { + public void writeToClass(AndroidResourceSymbolSink writer) { for (Map.Entry<String, String> entry : values.entrySet()) { - writer.writeSimpleResource(ResourceType.ID, entry.getKey()); + writer.acceptSimpleResource(ResourceType.ID, entry.getKey()); } } } @@ -549,8 +548,7 @@ public class AttrXmlResourceValue implements XmlResourceValue { } @Override - public void writeToClass(AndroidResourceClassWriter writer) { - } + public void writeToClass(AndroidResourceSymbolSink writer) {} } /** Represents an Android Color Attribute resource. */ @@ -578,8 +576,7 @@ public class AttrXmlResourceValue implements XmlResourceValue { } @Override - public void writeToClass(AndroidResourceClassWriter writer) { - } + public void writeToClass(AndroidResourceSymbolSink writer) {} } /** Represents an Android Boolean Attribute resource. */ @@ -607,8 +604,7 @@ public class AttrXmlResourceValue implements XmlResourceValue { } @Override - public void writeToClass(AndroidResourceClassWriter writer) { - } + public void writeToClass(AndroidResourceSymbolSink writer) {} } /** Represents an Android Float Attribute resource. */ @@ -636,8 +632,7 @@ public class AttrXmlResourceValue implements XmlResourceValue { } @Override - public void writeToClass(AndroidResourceClassWriter writer) { - } + public void writeToClass(AndroidResourceSymbolSink writer) {} } /** Represents an Android Dimension Attribute resource. */ @@ -666,8 +661,7 @@ public class AttrXmlResourceValue implements XmlResourceValue { } @Override - public void writeToClass(AndroidResourceClassWriter writer) { - } + public void writeToClass(AndroidResourceSymbolSink writer) {} } /** Represents an Android Integer Attribute resource. */ @@ -695,8 +689,7 @@ public class AttrXmlResourceValue implements XmlResourceValue { } @Override - public void writeToClass(AndroidResourceClassWriter writer) { - } + public void writeToClass(AndroidResourceSymbolSink writer) {} } /** Represents an Android String Attribute resource. */ @@ -724,8 +717,7 @@ public class AttrXmlResourceValue implements XmlResourceValue { } @Override - public void writeToClass(AndroidResourceClassWriter writer) { - } + public void writeToClass(AndroidResourceSymbolSink writer) {} } /** Represents an Android Fraction Attribute resource. */ @@ -753,8 +745,7 @@ public class AttrXmlResourceValue implements XmlResourceValue { } @Override - public void writeToClass(AndroidResourceClassWriter writer) { - } + public void writeToClass(AndroidResourceSymbolSink writer) {} } @Override diff --git a/src/tools/android/java/com/google/devtools/build/android/xml/IdXmlResourceValue.java b/src/tools/android/java/com/google/devtools/build/android/xml/IdXmlResourceValue.java index d0a4114c2f..c3fb2faefa 100644 --- a/src/tools/android/java/com/google/devtools/build/android/xml/IdXmlResourceValue.java +++ b/src/tools/android/java/com/google/devtools/build/android/xml/IdXmlResourceValue.java @@ -16,7 +16,7 @@ package com.google.devtools.build.android.xml; import com.google.common.base.MoreObjects; import com.google.devtools.build.android.AndroidDataWritingVisitor; import com.google.devtools.build.android.AndroidDataWritingVisitor.StartTag; -import com.google.devtools.build.android.AndroidResourceClassWriter; +import com.google.devtools.build.android.AndroidResourceSymbolSink; import com.google.devtools.build.android.DataSource; import com.google.devtools.build.android.FullyQualifiedName; import com.google.devtools.build.android.XmlResourceValue; @@ -89,9 +89,8 @@ public class IdXmlResourceValue implements XmlResourceValue { } @Override - public void writeResourceToClass(FullyQualifiedName key, - AndroidResourceClassWriter resourceClassWriter) { - resourceClassWriter.writeSimpleResource(key.type(), key.name()); + public void writeResourceToClass(FullyQualifiedName key, AndroidResourceSymbolSink sink) { + sink.acceptSimpleResource(key.type(), key.name()); } @Override diff --git a/src/tools/android/java/com/google/devtools/build/android/xml/PluralXmlResourceValue.java b/src/tools/android/java/com/google/devtools/build/android/xml/PluralXmlResourceValue.java index faf418a77f..1ff1578eab 100644 --- a/src/tools/android/java/com/google/devtools/build/android/xml/PluralXmlResourceValue.java +++ b/src/tools/android/java/com/google/devtools/build/android/xml/PluralXmlResourceValue.java @@ -17,7 +17,7 @@ import com.google.common.base.MoreObjects; import com.google.common.collect.ImmutableMap; import com.google.devtools.build.android.AndroidDataWritingVisitor; import com.google.devtools.build.android.AndroidDataWritingVisitor.ValuesResourceDefinition; -import com.google.devtools.build.android.AndroidResourceClassWriter; +import com.google.devtools.build.android.AndroidResourceSymbolSink; import com.google.devtools.build.android.DataSource; import com.google.devtools.build.android.FullyQualifiedName; import com.google.devtools.build.android.XmlResourceValue; @@ -98,9 +98,8 @@ public class PluralXmlResourceValue implements XmlResourceValue { } @Override - public void writeResourceToClass(FullyQualifiedName key, - AndroidResourceClassWriter resourceClassWriter) { - resourceClassWriter.writeSimpleResource(key.type(), key.name()); + public void writeResourceToClass(FullyQualifiedName key, AndroidResourceSymbolSink sink) { + sink.acceptSimpleResource(key.type(), key.name()); } @Override diff --git a/src/tools/android/java/com/google/devtools/build/android/xml/PublicXmlResourceValue.java b/src/tools/android/java/com/google/devtools/build/android/xml/PublicXmlResourceValue.java index 9399c64647..b513cf4beb 100644 --- a/src/tools/android/java/com/google/devtools/build/android/xml/PublicXmlResourceValue.java +++ b/src/tools/android/java/com/google/devtools/build/android/xml/PublicXmlResourceValue.java @@ -21,7 +21,7 @@ import com.google.common.base.Preconditions; import com.google.common.collect.ImmutableMap; import com.google.common.collect.Maps; import com.google.devtools.build.android.AndroidDataWritingVisitor; -import com.google.devtools.build.android.AndroidResourceClassWriter; +import com.google.devtools.build.android.AndroidResourceSymbolSink; import com.google.devtools.build.android.DataSource; import com.google.devtools.build.android.FullyQualifiedName; import com.google.devtools.build.android.XmlResourceValue; @@ -91,10 +91,9 @@ public class PublicXmlResourceValue implements XmlResourceValue { } @Override - public void writeResourceToClass( - FullyQualifiedName key, AndroidResourceClassWriter resourceClassWriter) { + public void writeResourceToClass(FullyQualifiedName key, AndroidResourceSymbolSink sink) { for (Entry<ResourceType, Optional<Integer>> entry : typeToId.entrySet()) { - resourceClassWriter.writePublicValue(entry.getKey(), key.name(), entry.getValue()); + sink.acceptPublicResource(entry.getKey(), key.name(), entry.getValue()); } } diff --git a/src/tools/android/java/com/google/devtools/build/android/xml/ResourcesAttribute.java b/src/tools/android/java/com/google/devtools/build/android/xml/ResourcesAttribute.java index 01424f8683..9202d599b5 100644 --- a/src/tools/android/java/com/google/devtools/build/android/xml/ResourcesAttribute.java +++ b/src/tools/android/java/com/google/devtools/build/android/xml/ResourcesAttribute.java @@ -17,7 +17,7 @@ import com.google.common.base.Joiner; import com.google.common.base.MoreObjects; import com.google.common.collect.Iterables; import com.google.devtools.build.android.AndroidDataWritingVisitor; -import com.google.devtools.build.android.AndroidResourceClassWriter; +import com.google.devtools.build.android.AndroidResourceSymbolSink; import com.google.devtools.build.android.DataSource; import com.google.devtools.build.android.FullyQualifiedName; import com.google.devtools.build.android.XmlResourceValue; @@ -164,8 +164,7 @@ public class ResourcesAttribute implements XmlResourceValue { } @Override - public void writeResourceToClass( - FullyQualifiedName key, AndroidResourceClassWriter resourceClassWriter) { + public void writeResourceToClass(FullyQualifiedName key, AndroidResourceSymbolSink sink) { // This is an xml attribute and does not have any java representation. } diff --git a/src/tools/android/java/com/google/devtools/build/android/xml/SimpleXmlResourceValue.java b/src/tools/android/java/com/google/devtools/build/android/xml/SimpleXmlResourceValue.java index edcfe3fe4f..923c163ad3 100644 --- a/src/tools/android/java/com/google/devtools/build/android/xml/SimpleXmlResourceValue.java +++ b/src/tools/android/java/com/google/devtools/build/android/xml/SimpleXmlResourceValue.java @@ -18,7 +18,7 @@ import com.google.common.base.MoreObjects; import com.google.common.collect.ImmutableMap; import com.google.devtools.build.android.AndroidDataWritingVisitor; import com.google.devtools.build.android.AndroidDataWritingVisitor.StartTag; -import com.google.devtools.build.android.AndroidResourceClassWriter; +import com.google.devtools.build.android.AndroidResourceSymbolSink; import com.google.devtools.build.android.DataSource; import com.google.devtools.build.android.FullyQualifiedName; import com.google.devtools.build.android.XmlResourceValue; @@ -212,9 +212,8 @@ public class SimpleXmlResourceValue implements XmlResourceValue { } @Override - public void writeResourceToClass(FullyQualifiedName key, - AndroidResourceClassWriter resourceClassWriter) { - resourceClassWriter.writeSimpleResource(key.type(), key.name()); + public void writeResourceToClass(FullyQualifiedName key, AndroidResourceSymbolSink sink) { + sink.acceptSimpleResource(key.type(), key.name()); } @Override diff --git a/src/tools/android/java/com/google/devtools/build/android/xml/StyleXmlResourceValue.java b/src/tools/android/java/com/google/devtools/build/android/xml/StyleXmlResourceValue.java index bfc02a4244..ccf52b6480 100644 --- a/src/tools/android/java/com/google/devtools/build/android/xml/StyleXmlResourceValue.java +++ b/src/tools/android/java/com/google/devtools/build/android/xml/StyleXmlResourceValue.java @@ -18,7 +18,7 @@ import com.google.common.base.MoreObjects; import com.google.common.collect.ImmutableMap; import com.google.devtools.build.android.AndroidDataWritingVisitor; import com.google.devtools.build.android.AndroidDataWritingVisitor.ValuesResourceDefinition; -import com.google.devtools.build.android.AndroidResourceClassWriter; +import com.google.devtools.build.android.AndroidResourceSymbolSink; import com.google.devtools.build.android.DataSource; import com.google.devtools.build.android.FullyQualifiedName; import com.google.devtools.build.android.XmlResourceValue; @@ -106,9 +106,8 @@ public class StyleXmlResourceValue implements XmlResourceValue { } @Override - public void writeResourceToClass(FullyQualifiedName key, - AndroidResourceClassWriter resourceClassWriter) { - resourceClassWriter.writeSimpleResource(key.type(), key.name()); + public void writeResourceToClass(FullyQualifiedName key, AndroidResourceSymbolSink sink) { + sink.acceptSimpleResource(key.type(), key.name()); } @Override diff --git a/src/tools/android/java/com/google/devtools/build/android/xml/StyleableXmlResourceValue.java b/src/tools/android/java/com/google/devtools/build/android/xml/StyleableXmlResourceValue.java index 93478876a3..8e55e089d3 100644 --- a/src/tools/android/java/com/google/devtools/build/android/xml/StyleableXmlResourceValue.java +++ b/src/tools/android/java/com/google/devtools/build/android/xml/StyleableXmlResourceValue.java @@ -21,7 +21,7 @@ import com.google.common.collect.ImmutableMap.Builder; import com.google.common.collect.Iterables; import com.google.devtools.build.android.AndroidDataWritingVisitor; import com.google.devtools.build.android.AndroidDataWritingVisitor.ValuesResourceDefinition; -import com.google.devtools.build.android.AndroidResourceClassWriter; +import com.google.devtools.build.android.AndroidResourceSymbolSink; import com.google.devtools.build.android.DataSource; import com.google.devtools.build.android.FullyQualifiedName; import com.google.devtools.build.android.XmlResourceValue; @@ -137,9 +137,8 @@ public class StyleableXmlResourceValue implements XmlResourceValue { } @Override - public void writeResourceToClass(FullyQualifiedName key, - AndroidResourceClassWriter resourceClassWriter) { - resourceClassWriter.writeStyleableResource(key, attrs); + public void writeResourceToClass(FullyQualifiedName key, AndroidResourceSymbolSink sink) { + sink.acceptStyleableResource(key, attrs); } @Override |