/** *

* Contains all public classes for Pulloid. *

*

* Pulloid is an API that allows to developers to easily and quickly define XML to Java object mappings. * Once the mapping defined, Pulloid will parse the XML stream (using an XmlPull parser) and create the associated Java objects. *

*

* Pulloid doesn't handle deep XML structures but focuses on providing a cursor on XML data sets. That means that it is suitable to XML * structures that represent a list of objects, those objects having simple properties. *

*

* To use Pulloid one must start by creating a Java class that represents the desired object output. * This class can have public variable members or can define setter methods. Pulloid will do its best to automatically * translate from strings in the XML to other types of variables in the Java objects - for example, numeric types and dates are handled * automatically. *

*

* Then a mapping definition needs to be created. The starting point is the {@link org.pulloid.RootContext} class. By using this class, along with * {@link org.pulloid.ElementContext}, {@link org.pulloid.CursorDef} it is possible to define how the parser should traverse the various elements and * create the Java objects and populate their fields as is navigates forward through the XML structure. *

*

* Once the mapping definition is there (a mapping definition is represented by an instance of {@link org.pulloid.CursorDef}) a {@linkplain org.pulloid.Cursor cursor} can be created from an * XML stream. *

*

* In a nutshell, the workflow is as following:

    *
  1. Create a {@link org.pulloid.RootContext}.
  2. *
  3. Use {@link org.pulloid.ElementContext#selectElement(String)} to navigate down to the XML element that represents an entry in the cursor.
  4. *
  5. Create a {@linkplain org.pulloid.CursorDef cursor definition} by calling {@link org.pulloid.ElementContext#defineCursor(Class)}.
  6. *
  7. Map child XML elements and/or attributes to the Java class fields using the various methods in {@link org.pulloid.ElementContext} (when holding a reference to the {@link org.pulloid.CursorDef} instance, it is possible to get a reference to the {@link org.pulloid.ElementContext} instance by calling {@link org.pulloid.CursorDef#getContext()}).
  8. *
  9. Call {@link org.pulloid.CursorDef#pull(java.io.InputStream)} to create a parser on an XML stream (note: a cursor definition can be reused multiple times).
  10. *
*

*/ package org.pulloid;