blob: ee87806b2b865cee07384d2dd902899c85f6749a [file] [log] [blame]
package com.xtremelabs.robolectric.res;
import org.w3c.dom.Node;
public class IntegerResourceLoader extends XTagXmlResourceLoader implements ResourceValueConverter {
private ResourceReferenceResolver< Integer > integerResolver = new ResourceReferenceResolver< Integer >( "integer" );
public IntegerResourceLoader( ResourceExtractor resourceExtractor ) {
super( resourceExtractor, "integer" );
}
public int getValue( int resourceId ) {
String resourceName = resourceExtractor.getResourceName( resourceId );
return integerResolver.getValue( resourceName );
}
public int getValue( String resourceName, boolean isSystem ) {
return getValue( resourceExtractor.getResourceId( resourceName, isSystem ) );
}
@Override
public Object convertRawValue( String rawValue ) {
try {
return Integer.parseInt( rawValue );
} catch ( NumberFormatException nfe ) {
throw new RuntimeException( rawValue + " is not an integer." );
}
}
@Override
protected void processNode( Node node, String name, boolean isSystem ) {
integerResolver.processResource( name, node.getTextContent(), this, isSystem );
}
}