aboutsummaryrefslogtreecommitdiff
path: root/v1/src/main/java/com/xtremelabs/robolectric/res/StringResourceLoader.java
diff options
context:
space:
mode:
Diffstat (limited to 'v1/src/main/java/com/xtremelabs/robolectric/res/StringResourceLoader.java')
-rw-r--r--v1/src/main/java/com/xtremelabs/robolectric/res/StringResourceLoader.java27
1 files changed, 27 insertions, 0 deletions
diff --git a/v1/src/main/java/com/xtremelabs/robolectric/res/StringResourceLoader.java b/v1/src/main/java/com/xtremelabs/robolectric/res/StringResourceLoader.java
new file mode 100644
index 000000000..88058ebb1
--- /dev/null
+++ b/v1/src/main/java/com/xtremelabs/robolectric/res/StringResourceLoader.java
@@ -0,0 +1,27 @@
+package com.xtremelabs.robolectric.res;
+
+import org.w3c.dom.Node;
+
+public class StringResourceLoader extends XpathResourceXmlLoader implements ResourceValueConverter {
+ private ResourceReferenceResolver<String> stringResolver = new ResourceReferenceResolver<String>("string");
+
+ public StringResourceLoader(ResourceExtractor resourceExtractor) {
+ super(resourceExtractor, "/resources/string");
+ }
+
+ public String getValue(int resourceId) {
+ return stringResolver.getValue(resourceExtractor.getResourceName(resourceId));
+ }
+
+ public String getValue(String resourceName, boolean isSystem) {
+ return getValue(resourceExtractor.getResourceId(resourceName, isSystem));
+ }
+
+ @Override protected void processNode(Node node, String name, boolean isSystem) {
+ stringResolver.processResource(name, node.getTextContent(), this, isSystem);
+ }
+
+ @Override public Object convertRawValue(String rawValue) {
+ return rawValue;
+ }
+}