com.androidplot.util
Class Configurator
java.lang.Object
   com.androidplot.util.Configurator
com.androidplot.util.Configurator
- public abstract class Configurator 
- extends Object
Utility class for "configuring" objects via XML config files.  Supports the following field types:
 String
 Enum
 int
 float
 boolean
 
 Config files should be stored in /res/xml.  Given the XML configuration /res/xml/myConfig.xml, one can apply the
 configuration to an Object instance as follows:
 
 MyObject obj = new MyObject();
 Configurator.configure(obj, R.xml.myConfig);
 
 WHAT IT DOES:
 Given a series of parameters stored in an XML file, Configurator iterates through each parameter, using the name
 as a map to the field within a given object.  For example:
 
 
 <config car.engine.sparkPlug.condition="poor"/>
 
 
 
 Given a Car instance car and assuming the method setCondition(String) exists within the SparkPlug class,
 Configurator does the following:
 
 
 car.getEngine().getSparkPlug().setCondition("poor");
 
 
 
 Now let's pretend that setCondition takes an instance of the Condition enum as it's argument.
 Configurator then does the following:
 
 car.getEngine().getSparkPlug().setCondition(Condition.valueOf("poor");
 
 Now let's look at how ints are handled.  Given the following xml:
 
 
 
 would result in:
 car.getEngine.setMiles(Integer.ParseInt("100000");
 
 That's pretty straight forward.  But colors are expressed as ints too in Android
 but can be defined using hex values or even names of colors.  When Configurator
 attempts to parse a parameter for a method that it knows takes an int as it's argument,
 Configurator will first attempt to parse the parameter as a color.  Only after this
 attempt fails will Configurator resort to Integer.ParseInt.  So:
 
 
 
 would result in:
 car.getHood().getPaint().setColor(Color.parseColor("Red");
 
 Next lets talk about float.  Floats can appear in XML a few different ways in Android,
 especially when it comes to defining dimensions:
 
 
 
 Configurator will correctly parse each of these into their corresponding real pixel value expressed as a float.
 
 One last thing to keep in mind when using Configurator:
 Values for Strings and ints can be assigned to localized values, allowing
 a cleaner solution for those developing apps to run on multiple form factors
 or in multiple languages:
 
 
 
 
 
Configurator
public Configurator()
configure
public static void configure(android.content.Context ctx,
                             Object obj,
                             int xmlFileId)
- 
- Parameters:
- ctx-
- obj-
- xmlFileId- ID of the XML config file within /res/xml
 
configure
public static void configure(android.content.Context ctx,
                             Object obj,
                             HashMap<String,String> params)
- 
 
Copyright © 2010-2013 androidplot.com. All Rights Reserved.