Package com.creditcall.chipdnamobile
Class ChipDnaMobileSerializer
java.lang.Object
com.creditcall.chipdnamobile.ChipDnaMobileSerializer
Utility class for serializing and deserializing ChipDNA Mobile data objects to/from XML format.
This class provides static methods for converting ChipDNA Mobile data structures to XML strings and converting XML strings back into various ChipDNA Mobile data structures (such as receipt data, card hashes, device status, etc.).
All public methods in this class are static and thread-safe for XML serialization and deserialization operations.
- Since:
- 16/07/2017
- Author:
- Creditcall
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final String -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionstatic ArrayList<Application>deserializeAvailableApplications(String availableApplicationsXml) Deserializes XML string containing available applications into an ArrayList of Application objects.static HashMap<PaymentMethod,ArrayList<Currency>> deserializeAvailableCurrencies(String availableCurrenciesXml) Deserializes XML string containing available currencies into a HashMap mapping payment methods to currency lists.deserializeAvailablePinPads(String availablePinPadsXml) Deserializes XML string containing available pin pads into a HashMap mapping connection types to pin pad names.deserializeCardHashes(String cardHashXml) Deserializes XML string containing card hashes into a List of CardHash objects.deserializeCardTokens(String cardTokenXml) Deserializes XML string containing card tokens into a List of CardToken objects.static DeviceStatusdeserializeDeviceStatus(String deviceStatusXml) Deserializes XML string containing device status information into a DeviceStatus object.static FirmwareUpdateStatusdeserializeFirmwareUpdateStatus(String firmwareUpdateStatusXml) Deserializes XML string containing firmware update status into a FirmwareUpdateStatus object.static MerchantDatadeserializeMerchantData(String merchantDataXml) Deserializes XML string containing merchant data into a MerchantData object.static PaymentPlatformStatusdeserializePaymentPlatformStatus(String paymentPlatformStatusXml) Deserializes XML string containing payment platform status into a PaymentPlatformStatus object.static Map<String,ReceiptField> deserializeReceiptData(String receiptDataXml) Deserializes XML string containing receipt data into a Map of ReceiptField objects.static RequestQueueStatusdeserializeRequestQueueStatus(String requestQueueStatusXml) Deserializes XML string containing request queue status into a RequestQueueStatus object.static TerminalStatusdeserializeTerminalStatus(String terminalStatusXml) Deserializes XML string containing terminal status information into a TerminalStatus object.static TmsStatusdeserializeTmsStatus(String tmsStatusXml) Deserializes XML string containing TMS status information into a TmsStatus object.static VersionInformationdeserializeVersionInformation(String versionInformationXml) Deserializes XML string containing version information into a VersionInformation object.static StringserializeFeatureTokens(List<FeatureToken> featureTokens) Serializes a List of FeatureToken objects into XML string format.
-
Field Details
-
ReceiptDataTag
- See Also:
-
ReceiptItemIdTag
- See Also:
-
ReceiptItemTag
- See Also:
-
ReceiptLabelTag
- See Also:
-
ReceiptValueTag
- See Also:
-
ReceiptInclusionTag
- See Also:
-
ReceiptPriorityAttribute
- See Also:
-
CardHashesTag
- See Also:
-
CardHashTag
- See Also:
-
CardHashScopeAttribute
- See Also:
-
CardHashSourceAttribute
- See Also:
-
CardTokensTag
- See Also:
-
CardTokenTag
- See Also:
-
CardTokenAlgorithmAttribute
- See Also:
-
CardTokenKeyAttribute
- See Also:
-
FeatureTokensTag
- See Also:
-
FeatureTokenTag
- See Also:
-
VersionInformationTag
- See Also:
-
VersionTag
- See Also:
-
ReleaseNameTag
- See Also:
-
ApplicationNameTag
- See Also:
-
HashMapItemTag
- See Also:
-
HashMapKeyTag
- See Also:
-
HashMapValueTag
- See Also:
-
DeviceStatusRootTag
- See Also:
-
DeviceStatusNameTag
- See Also:
-
DeviceStatusTag
- See Also:
-
DeviceStatusMakeTag
- See Also:
-
DeviceStatusModelTag
- See Also:
-
DeviceStatusFirmwareNameTag
- See Also:
-
DeviceStatusFirmwareVersionTag
- See Also:
-
DeviceStatusOperatingSystemVersionTag
- See Also:
-
DeviceStatusKernelsHashTag
- See Also:
-
DeviceStatusRevisionTag
- See Also:
-
DeviceStatusRawBatteryChargePercentageTag
- See Also:
-
DeviceStatusBatteryChargePercentageTag
- See Also:
-
DeviceStatusBatteryChargingStatusTag
- See Also:
-
DeviceStatusBatteryChargingStatusUpdateDateTimeTag
- See Also:
-
DeviceStatusBatteryChargingStatusUpdateDateTimeFormatTag
- See Also:
-
DeviceStatusSerialNumTag
- See Also:
-
DeviceStatusAvailabilityErrorTag
- See Also:
-
DeviceStatusErrorInformationTag
- See Also:
-
DateTimeFormatTag
- See Also:
-
RequestQueueStatusTag
- See Also:
-
TotalNumberOfPendingRequestsTag
- See Also:
-
TotalNumberOfFailedRequestsTag
- See Also:
-
PendingRequestsStorageLimitTag
- See Also:
-
TotalPendingValueStoredTag
- See Also:
-
TotalFailedValueStoredTag
- See Also:
-
PendingRequestValueLimitTag
- See Also:
-
OldestPendingRequestDateTimeTag
- See Also:
-
PendingRequestTotalsByRequestTypeTag
- See Also:
-
FailedRequestTotalsByRequestTypeTag
- See Also:
-
PendingRequestVolumesByRequestTypeTag
- See Also:
-
FailedRequestVolumesByRequestType
- See Also:
-
FailedOfflineRequestsTag
- See Also:
-
FailedRequestTag
- See Also:
-
TmsStatusTag
- See Also:
-
LastConfigUpdateDateTimeTag
- See Also:
-
DaysUntilConfigUpdateRequiredTag
- See Also:
-
RequiredConfigUpdateDateTimeTag
- See Also:
-
PaymentPlatformStatusTag
- See Also:
-
AvailabilityStateTag
- See Also:
-
LocalDateTimeFormatTag
- See Also:
-
LocalDateTimeTag
- See Also:
-
PaymentPlatformStatusCheckDateTimeFormatTag
- See Also:
-
PaymentPlatformStatusCheckDateTimeTag
- See Also:
-
ErrorsTag
- See Also:
-
ErrorTag
- See Also:
-
TerminalStatusTag
- See Also:
-
TerminalIdTag
- See Also:
-
TransactionKeyTag
- See Also:
-
ApiKeyTag
- See Also:
-
WebMisUsernameTag
- See Also:
-
WebMisPasswordTag
- See Also:
-
AvailableCurrenciesTag
- See Also:
-
CurrenciesTag
- See Also:
-
PaymentMethodAttribute
- See Also:
-
CurrencyTag
- See Also:
-
NumericCodeAttribute
- See Also:
-
CharCodeAttribute
- See Also:
-
ExponentAttribute
- See Also:
-
SymbolAttribute
- See Also:
-
EnabledAttribute
- See Also:
-
ApplicationTag
- See Also:
-
AvailableApplicationsTag
- See Also:
-
ApplicationNameAttribute
- See Also:
-
ApplicationPriorityAttribute
- See Also:
-
PinPadsTag
- See Also:
-
PinPadTag
- See Also:
-
PinPadConnectionTypeAttribute
- See Also:
-
MerchantDataTag
- See Also:
-
MerchantTag
- See Also:
-
MerchantNameTag
- See Also:
-
IdAttribute
- See Also:
-
CategoryCodeAttribute
- See Also:
-
CardSchemesTag
- See Also:
-
CardSchemeTag
- See Also:
-
TransactionTypesTag
- See Also:
-
TransactionTypeTag
- See Also:
-
FileTag
- See Also:
-
FileNameAttribute
- See Also:
-
FirmwareUpdateStatusTag
- See Also:
-
FilesRequiringUpdateTag
- See Also:
-
DaysUntilFirmwareUpdateRequiredTag
- See Also:
-
RequiredFirmwareUpdateDateTimeTag
- See Also:
-
-
Constructor Details
-
ChipDnaMobileSerializer
public ChipDnaMobileSerializer()
-
-
Method Details
-
deserializeReceiptData
public static Map<String,ReceiptField> deserializeReceiptData(String receiptDataXml) throws org.xmlpull.v1.XmlPullParserException, IOException Deserializes XML string containing receipt data into a Map of ReceiptField objects.- Parameters:
receiptDataXml- The XML string containing receipt data to be deserialized- Returns:
- A Map where keys are receipt item IDs and values are ReceiptField objects
- Throws:
org.xmlpull.v1.XmlPullParserException- If there is an error parsing the XMLIOException- If there is an I/O error during parsing
-
deserializeCardHashes
public static List<CardHash> deserializeCardHashes(String cardHashXml) throws org.xmlpull.v1.XmlPullParserException, IOException Deserializes XML string containing card hashes into a List of CardHash objects.- Parameters:
cardHashXml- The XML string containing card hash data to be deserialized- Returns:
- A List of CardHash objects parsed from the XML
- Throws:
org.xmlpull.v1.XmlPullParserException- If there is an error parsing the XMLIOException- If there is an I/O error during parsing
-
deserializeCardTokens
public static List<CardToken> deserializeCardTokens(String cardTokenXml) throws org.xmlpull.v1.XmlPullParserException, IOException Deserializes XML string containing card tokens into a List of CardToken objects.- Parameters:
cardTokenXml- The XML string containing card token data to be deserialized. Cannot be null.- Returns:
- A List of CardToken objects parsed from the XML
- Throws:
org.xmlpull.v1.XmlPullParserException- If there is an error parsing the XMLIOException- If there is an I/O error during parsingNullPointerException- If cardTokenXml is null
-
serializeFeatureTokens
Serializes a List of FeatureToken objects into XML string format.- Parameters:
featureTokens- The List of FeatureToken objects to be serialized. Cannot be null.- Returns:
- An XML string representation of the feature tokens
- Throws:
NullPointerException- If featureTokens is nullRuntimeException- If there is an error during XML serialization
-
deserializeVersionInformation
public static VersionInformation deserializeVersionInformation(String versionInformationXml) throws org.xmlpull.v1.XmlPullParserException, IOException Deserializes XML string containing version information into a VersionInformation object.- Parameters:
versionInformationXml- The XML string containing version information to be deserialized- Returns:
- A VersionInformation object containing version, release name, and application name
- Throws:
org.xmlpull.v1.XmlPullParserException- If there is an error parsing the XMLIOException- If there is an I/O error during parsing
-
deserializeDeviceStatus
public static DeviceStatus deserializeDeviceStatus(String deviceStatusXml) throws org.xmlpull.v1.XmlPullParserException, IOException Deserializes XML string containing device status information into a DeviceStatus object.- Parameters:
deviceStatusXml- The XML string containing device status data to be deserialized- Returns:
- A DeviceStatus object containing device information such as name, status, make, model, firmware details, battery information, etc.
- Throws:
org.xmlpull.v1.XmlPullParserException- If there is an error parsing the XMLIOException- If there is an I/O error during parsing
-
deserializeFirmwareUpdateStatus
public static FirmwareUpdateStatus deserializeFirmwareUpdateStatus(String firmwareUpdateStatusXml) throws org.xmlpull.v1.XmlPullParserException, IOException Deserializes XML string containing firmware update status into a FirmwareUpdateStatus object.- Parameters:
firmwareUpdateStatusXml- The XML string containing firmware update status data to be deserialized- Returns:
- A FirmwareUpdateStatus object containing update requirements, dates, and files requiring updates
- Throws:
org.xmlpull.v1.XmlPullParserException- If there is an error parsing the XMLIOException- If there is an I/O error during parsing
-
deserializeRequestQueueStatus
public static RequestQueueStatus deserializeRequestQueueStatus(String requestQueueStatusXml) throws org.xmlpull.v1.XmlPullParserException, IOException Deserializes XML string containing request queue status into a RequestQueueStatus object.- Parameters:
requestQueueStatusXml- The XML string containing request queue status data to be deserialized- Returns:
- A RequestQueueStatus object containing information about pending and failed requests, storage limits, and request totals by type
- Throws:
org.xmlpull.v1.XmlPullParserException- If there is an error parsing the XMLIOException- If there is an I/O error during parsing
-
deserializeTmsStatus
public static TmsStatus deserializeTmsStatus(String tmsStatusXml) throws org.xmlpull.v1.XmlPullParserException, IOException Deserializes XML string containing TMS status information into a TmsStatus object.- Parameters:
tmsStatusXml- The XML string containing TMS status data to be deserialized- Returns:
- A TmsStatus object containing configuration update information and date/time details
- Throws:
org.xmlpull.v1.XmlPullParserException- If there is an error parsing the XMLIOException- If there is an I/O error during parsing
-
deserializePaymentPlatformStatus
public static PaymentPlatformStatus deserializePaymentPlatformStatus(String paymentPlatformStatusXml) throws org.xmlpull.v1.XmlPullParserException, IOException Deserializes XML string containing payment platform status into a PaymentPlatformStatus object.- Parameters:
paymentPlatformStatusXml- The XML string containing payment platform status data to be deserialized- Returns:
- A PaymentPlatformStatus object containing availability state, date/time information, and any errors
- Throws:
org.xmlpull.v1.XmlPullParserException- If there is an error parsing the XMLIOException- If there is an I/O error during parsing
-
deserializeTerminalStatus
public static TerminalStatus deserializeTerminalStatus(String terminalStatusXml) throws org.xmlpull.v1.XmlPullParserException, IOException Deserializes XML string containing terminal status information into a TerminalStatus object.- Parameters:
terminalStatusXml- The XML string containing terminal status data to be deserialized- Returns:
- A TerminalStatus object containing terminal configuration including ID, transaction key, API key, and WebMIS credentials
- Throws:
org.xmlpull.v1.XmlPullParserException- If there is an error parsing the XMLIOException- If there is an I/O error during parsing
-
deserializeAvailableCurrencies
public static HashMap<PaymentMethod,ArrayList<Currency>> deserializeAvailableCurrencies(String availableCurrenciesXml) throws org.xmlpull.v1.XmlPullParserException, IOException Deserializes XML string containing available currencies into a HashMap mapping payment methods to currency lists.- Parameters:
availableCurrenciesXml- The XML string containing available currencies data to be deserialized- Returns:
- A HashMap where keys are PaymentMethod enums and values are ArrayLists of Currency objects
- Throws:
org.xmlpull.v1.XmlPullParserException- If there is an error parsing the XMLIOException- If there is an I/O error during parsing
-
deserializeAvailablePinPads
public static HashMap<String,ArrayList<String>> deserializeAvailablePinPads(String availablePinPadsXml) throws org.xmlpull.v1.XmlPullParserException, IOException Deserializes XML string containing available pin pads into a HashMap mapping connection types to pin pad names.- Parameters:
availablePinPadsXml- The XML string containing available pin pads data to be deserialized. Can be null.- Returns:
- A HashMap where keys are connection type strings and values are ArrayLists of pin pad names. Returns empty HashMap if input is null.
- Throws:
org.xmlpull.v1.XmlPullParserException- If there is an error parsing the XMLIOException- If there is an I/O error during parsing
-
deserializeAvailableApplications
public static ArrayList<Application> deserializeAvailableApplications(String availableApplicationsXml) throws org.xmlpull.v1.XmlPullParserException, IOException Deserializes XML string containing available applications into an ArrayList of Application objects.- Parameters:
availableApplicationsXml- The XML string containing available applications data to be deserialized- Returns:
- An ArrayList of Application objects containing application names and priorities
- Throws:
org.xmlpull.v1.XmlPullParserException- If there is an error parsing the XMLIOException- If there is an I/O error during parsing
-
deserializeMerchantData
public static MerchantData deserializeMerchantData(String merchantDataXml) throws org.xmlpull.v1.XmlPullParserException, IOException Deserializes XML string containing merchant data into a MerchantData object.- Parameters:
merchantDataXml- The XML string containing merchant data to be deserialized- Returns:
- A MerchantData object containing a list of Merchant objects with their associated information
- Throws:
org.xmlpull.v1.XmlPullParserException- If there is an error parsing the XMLIOException- If there is an I/O error during parsing
-