1a2043a8fff01f3e2d9a5e30dd1cf5fb6a5342f4dTyler Schultzpackage com.xtremelabs.robolectric.res; 2684ccc2fc5a1c79aa45af22b95c37f7c509a00c1Christian Williams 3684ccc2fc5a1c79aa45af22b95c37f7c509a00c1Christian Williamsimport org.w3c.dom.Node; 4684ccc2fc5a1c79aa45af22b95c37f7c509a00c1Christian Williams 503026285fac7636e32c65f71bb8861f3a9906058Phil Goodwin & Tyler Schultzpublic class StringResourceLoader extends XpathResourceXmlLoader implements ResourceValueConverter { 603026285fac7636e32c65f71bb8861f3a9906058Phil Goodwin & Tyler Schultz private ResourceReferenceResolver<String> stringResolver = new ResourceReferenceResolver<String>("string"); 7684ccc2fc5a1c79aa45af22b95c37f7c509a00c1Christian Williams 8684ccc2fc5a1c79aa45af22b95c37f7c509a00c1Christian Williams public StringResourceLoader(ResourceExtractor resourceExtractor) { 9935672a6df8e1d636f8eaae2f1f7e951327e767cChristian Williams super(resourceExtractor, "/resources/string"); 10684ccc2fc5a1c79aa45af22b95c37f7c509a00c1Christian Williams } 11684ccc2fc5a1c79aa45af22b95c37f7c509a00c1Christian Williams 1252e6c9b2b630daf588364ca731be6445028bf41bIan Fisher & Phil Goodwin public String getValue(int resourceId) { 1303026285fac7636e32c65f71bb8861f3a9906058Phil Goodwin & Tyler Schultz return stringResolver.getValue(resourceExtractor.getResourceName(resourceId)); 1452e6c9b2b630daf588364ca731be6445028bf41bIan Fisher & Phil Goodwin } 1552e6c9b2b630daf588364ca731be6445028bf41bIan Fisher & Phil Goodwin 1629610b43047065c5dc66452d33f0113ac7e65fe8Phil Goodwin public String getValue(String resourceName, boolean isSystem) { 1729610b43047065c5dc66452d33f0113ac7e65fe8Phil Goodwin return getValue(resourceExtractor.getResourceId(resourceName, isSystem)); 1870721982e6f564ddc32e599e7d6a2241527cb42dChristian Williams & Tyler Schultz } 19935672a6df8e1d636f8eaae2f1f7e951327e767cChristian Williams 2028dc94ecb7ac94834b97e3f6be778b3f2bb734fdJesse Toth & Tim Labeeuw @Override protected void processNode(Node node, String name, boolean isSystem) { 2128dc94ecb7ac94834b97e3f6be778b3f2bb734fdJesse Toth & Tim Labeeuw stringResolver.processResource(name, node.getTextContent(), this, isSystem); 2203026285fac7636e32c65f71bb8861f3a9906058Phil Goodwin & Tyler Schultz } 2303026285fac7636e32c65f71bb8861f3a9906058Phil Goodwin & Tyler Schultz 2403026285fac7636e32c65f71bb8861f3a9906058Phil Goodwin & Tyler Schultz @Override public Object convertRawValue(String rawValue) { 2503026285fac7636e32c65f71bb8861f3a9906058Phil Goodwin & Tyler Schultz return rawValue; 26935672a6df8e1d636f8eaae2f1f7e951327e767cChristian Williams } 27684ccc2fc5a1c79aa45af22b95c37f7c509a00c1Christian Williams} 28