@Override public void marshal(Object o, HierarchicalStreamWriter writer, MarshallingContext marshallingContext) { ApplicationNumberSummary number = (ApplicationNumberSummary) o; if (number.getSid() != null ) { writer.startNode("Sid"); writer.setValue(number.getSid()); writer.endNode(); if (number.getFriendlyName() != null) { writer.startNode("FriendlyName"); writer.setValue(number.getFriendlyName()); writer.endNode(); if (number.getPhoneNumber() != null) { writer.startNode("PhoneNumber"); writer.setValue(number.getPhoneNumber()); writer.endNode(); if (number.getVoiceApplicationSid() != null) { writer.startNode("VoiceApplicationSid"); writer.setValue(number.getVoiceApplicationSid()); writer.endNode(); if (number.getSmsApplicationSid() != null) { writer.startNode("SmsApplicationSid"); writer.setValue(number.getSmsApplicationSid()); writer.endNode(); if (number.getUssdApplicationSid() != null) { writer.startNode("UssdApplicationSid");
/** * Populates application.numbers field with information of one or more numbers. The 'numbers' list is created if * already null and an IncomingPhoneNumber is added into it based on information from the map. Invoking the same method * several times to add more numbers to the same list is possible. * * @param application * @param map * @param field_prefix * @return */ private void populateApplicationWithNumber(Application application, final Map<String, Object> map, String field_prefix) { // first create the number ApplicationNumberSummary number = new ApplicationNumberSummary( readString(map.get(field_prefix + "sid")), readString(map.get(field_prefix + "friendly_name")), readString(map.get(field_prefix + "phone_number")), readString(map.get(field_prefix + "voice_application_sid")), readString(map.get(field_prefix + "sms_application_sid")), readString(map.get(field_prefix + "ussd_application_sid")), readString(map.get(field_prefix + "refer_application_sid")) ); List<ApplicationNumberSummary> numbers = application.getNumbers(); if (numbers == null) { numbers = new ArrayList<ApplicationNumberSummary>(); application.setNumbers(numbers); } numbers.add(number); }