/** * Calls a function to recursively iterates through the the properties of the * passed JsonObject object and returns an equivalent OpenSocialObject with * each property of the original object mapped to fields _in the returned * object. * * @param entryObject Object-oriented representation of JSON response * string which is transformed into and returned as an * OpenSocialObject * @param clientClass Class of object to return, either OpenSocialObject * or a subclass * @throws JSONException * @throws InstantiationException * @throws IllegalAccessException */ private static OpenSocialObject parseAsObject( JsonObject entryObject, Type clientClass) { OpenSocialObject o = (OpenSocialObject)Activator.CreateInstance(clientClass); Dictionary <String, OpenSocialField> entryRepresentation = createObjectRepresentation(entryObject); foreach (var e in entryRepresentation) { o.setField(e.Key, e.Value); } return(o); }
/** * Retrieves the display name (typically given name followed by family name) * associated with the instance. Returns an empty string if no name has been * set. * * @throws OpenSocialException */ public String getDisplayName() { OpenSocialField nicknameField = this.getField("nickname"); OpenSocialField nameField = this.getField("name"); StringBuilder name = new StringBuilder(); if (nameField != null) { if (nameField.isComplex()) { OpenSocialObject nameObject = nameField.getValue(); if (nameObject.hasField("givenName")) { name.Append(nameObject.getField("givenName").getStringValue()); } if (nameObject.hasField("givenName") && nameObject.hasField("familyName")) { name.Append(" "); } if (nameObject.hasField("familyName")) { name.Append(nameObject.getField("familyName").getStringValue()); } } else { name.Append(nameField.getStringValue()); } } else if (nicknameField != null) { if (!nicknameField.isComplex()) { name.Append(nicknameField.getStringValue()); } } return(name.ToString()); }