Class XFormAnswerDataSerializer

java.lang.Object
org.javarosa.xform.util.XFormAnswerDataSerializer
All Implemented Interfaces:
IAnswerDataSerializer

public class XFormAnswerDataSerializer
extends Object
implements IAnswerDataSerializer
The XFormAnswerDataSerializer takes in AnswerData objects, and provides an XForms compliant (String or Element) representation of that AnswerData. By default, this serializer can properly operate on StringData, DateData MultipleItemsData, and SelectOneData AnswerData objects. This list can be extended by registering appropriate XForm serializing AnswerDataSerializers with this class.
Author:
Clayton Sims
  • Field Details

  • Constructor Details

  • Method Details

    • registerAnswerSerializer

      public void registerAnswerSerializer​(IAnswerDataSerializer ads)
      Description copied from interface: IAnswerDataSerializer
      Extends the serializing capabilities of this serializer by registering another, and allowing this serializer to operate on all of the data types that the argument can.
      Specified by:
      registerAnswerSerializer in interface IAnswerDataSerializer
      Parameters:
      ads - An IAnswerDataSerializer
    • canSerialize

      public boolean canSerialize​(IAnswerData data)
      Description copied from interface: IAnswerDataSerializer
      Identifies whether this serializer can turn the AnswerData object inside of the given element into an external format.
      Specified by:
      canSerialize in interface IAnswerDataSerializer
      Parameters:
      data - The element whose data is to be serialzed
      Returns:
      true if this can meaningfully serialze the provided object. false otherwise
    • serializeAnswerData

      public Object serializeAnswerData​(UncastData data)
      Parameters:
      data - The AnswerDataObject to be serialized
      Returns:
      A String which contains the given answer
    • serializeAnswerData

      public Object serializeAnswerData​(StringData data)
      Parameters:
      data - The AnswerDataObject to be serialized
      Returns:
      A String which contains the given answer
    • serializeAnswerData

      public Object serializeAnswerData​(DateData data)
      Parameters:
      data - The AnswerDataObject to be serialized
      Returns:
      A String which contains a date in xsd:date formatting
    • serializeAnswerData

      public Object serializeAnswerData​(DateTimeData data)
      Parameters:
      data - The AnswerDataObject to be serialized
      Returns:
      A String which contains a date in xsd:date formatting
    • serializeAnswerData

      public Object serializeAnswerData​(TimeData data)
      Parameters:
      data - The AnswerDataObject to be serialized
      Returns:
      A String which contains a date in xsd:time formatting
    • serializeAnswerData

      public Object serializeAnswerData​(PointerAnswerData data)
      Parameters:
      data - The AnswerDataObject to be serialized
      Returns:
      A String which contains a reference to the data
    • serializeAnswerData

      public Object serializeAnswerData​(MultiPointerAnswerData data)
      Parameters:
      data - The AnswerDataObject to be serialized
      Returns:
      A String which contains a reference to the data
    • serializeAnswerData

      public Object serializeAnswerData​(MultipleItemsData data)
      Parameters:
      data - The AnswerDataObject to be serialized
      Returns:
      A string containing the xforms compliant format for a