public Element toElement(Element parent) { Element alarm = parent.addElement(MailConstants.E_CAL_ALARM); alarm.addAttribute(MailConstants.A_CAL_ALARM_ACTION, mAction.toString()); Element trigger = alarm.addElement(MailConstants.E_CAL_ALARM_TRIGGER); if (ZTriggerType.ABSOLUTE.equals(mTriggerType)) { Element absolute = trigger.addElement(MailConstants.E_CAL_ALARM_ABSOLUTE); absolute.addAttribute(MailConstants.A_DATE, mTriggerAbsolute.toString()); } else { Element relative = mTriggerRelative.toXml(trigger, MailConstants.E_CAL_ALARM_RELATIVE); if (mTriggerRelated != null) relative.addAttribute(MailConstants.A_CAL_ALARM_RELATED, mTriggerRelated.toString()); } if (mRepeatDuration != null) { Element repeat = mRepeatDuration.toXml(alarm, MailConstants.E_CAL_ALARM_REPEAT); repeat.addAttribute(MailConstants.A_CAL_ALARM_COUNT, mRepeatCount); } if (!ZAction.AUDIO.equals(mAction) && mDescription != null) { Element desc = alarm.addElement(MailConstants.E_CAL_ALARM_DESCRIPTION); desc.setText(mDescription); } if (mAttach != null) mAttach.toXml(alarm); if (ZAction.EMAIL.equals(mAction) || ZAction.X_YAHOO_CALENDAR_ACTION_IM.equals(mAction) || ZAction.X_YAHOO_CALENDAR_ACTION_MOBILE.equals(mAction)) { Element summary = alarm.addElement(MailConstants.E_CAL_ALARM_SUMMARY); if (mSummary != null) { summary.setText(mSummary); } if (mAttendees != null) { for (ZAttendee attendee : mAttendees) { attendee.toElement(alarm); } } } return alarm; }