package edu.harvard.iq.dataverse.util.json;
import edu.harvard.iq.dataverse.DatasetVersion;
import edu.harvard.iq.dataverse.authorization.providers.builtin.BuiltinUser;
import edu.harvard.iq.dataverse.MetadataBlock;
import static edu.harvard.iq.dataverse.util.json.NullSafeJsonBuilder.jsonObjectBuilder;
import javax.json.JsonObjectBuilder;
/**
* A Json printer that prints minimal data on objects. Useful when embedding
* objects inside others.
*
* @author michael
*/
public class BriefJsonPrinter {
public JsonObjectBuilder json( BuiltinUser usr ) {
return ( usr==null )
? null
: jsonObjectBuilder().add("id", usr.getId())
.add("firstName", usr.getFirstName())
.add("lastName", usr.getLastName())
.add("affiliation", usr.getAffiliation())
;
}
public JsonObjectBuilder json( DatasetVersion dsv ) {
return ( dsv==null )
? null
: jsonObjectBuilder().add("id", dsv.getId())
.add("version", dsv.getVersion() )
.add("versionState", dsv.getVersionState().name() )
.add("title", dsv.getTitle());
}
public JsonObjectBuilder json( MetadataBlock blk ) {
return ( blk==null )
? null
: jsonObjectBuilder().add("id", blk.getId())
.add("displayName", blk.getDisplayName())
.add("name", blk.getName())
;
}
}