}
@Override
public String toJson(final boolean compact) {
StringWriter sw = new StringWriter();
JsonWriter jw = new JsonWriter(sw, compact);
try {
jw.startObject();
jw.outStringProperty("@unid", getUniversalID());
Set<String> keys = keySet();
for (String key : keys) {
Item currItem = getFirstItem(key);
if (currItem.getMIMEEntity() == null) {
jw.outProperty(key, currItem.getText());
} else {
String abstractedText = currItem.abstractText(0, false, false);
if (null == abstractedText) {
jw.outProperty(key, "**MIME ITEM, VALUE CANNOT BE DECODED TO JSON**");
} else {
jw.outProperty(key, abstractedText);
}
}
}
jw.endObject();
jw.flush();
} catch (IOException e) {
DominoUtils.handleException(e, this);
return null;
} catch (JsonException e) {
DominoUtils.handleException(e, this);