@Override protected VCardDataType _dataType(Telephone property, VCardVersion version) { if (version == VCardVersion.V4_0) { if (property.getText() != null) { return VCardDataType.TEXT; } if (property.getUri() != null) { return VCardDataType.URI; } } return VCardDataType.TEXT; }
@Override protected JCardValue _writeJson(Telephone property) { String text = property.getText(); if (text != null) { return JCardValue.single(text); } TelUri uri = property.getUri(); if (uri != null) { return JCardValue.single(uri.toString()); } return JCardValue.single(""); }
@Override protected void _writeXml(Telephone property, XCardElement parent) { String text = property.getText(); if (text != null) { parent.append(VCardDataType.TEXT, text); return; } TelUri uri = property.getUri(); if (uri != null) { parent.append(VCardDataType.URI, uri.toString()); return; } parent.append(VCardDataType.TEXT, ""); }
@Override protected String _writeText(Telephone property, WriteContext context) { String text = property.getText(); if (text != null) { return escape(text, context); } TelUri uri = property.getUri(); if (uri != null) { if (context.getVersion() == VCardVersion.V4_0) { return uri.toString(); } String ext = uri.getExtension(); String value = (ext == null) ? uri.getNumber() : uri.getNumber() + " x" + ext; return escape(value, context); } return ""; }