package sk.stuba.fiit.perconik.activity.serializers.git;
import java.util.TimeZone;
import org.eclipse.jgit.lib.PersonIdent;
import sk.stuba.fiit.perconik.activity.serializers.AbstractConfigurableMultiSerializer;
import sk.stuba.fiit.perconik.data.content.StructuredContent;
import static sk.stuba.fiit.perconik.data.content.StructuredContents.key;
public final class IdentitySerializer extends AbstractConfigurableMultiSerializer<PersonIdent> {
public IdentitySerializer(final Option ... options) {
super(options);
}
public IdentitySerializer(final Iterable<Option> options) {
super(options);
}
static void putIdentity(final StructuredContent content, final PersonIdent identity) {
content.put(key("email"), identity.getEmailAddress());
content.put(key("name"), identity.getName());
content.put(key("timestamp"), identity.getWhen().getTime());
content.put(key("timezone", "offset"), identity.getTimeZoneOffset());
TimeZone zone = identity.getTimeZone();
if (zone != null) {
content.put(key("timezone", "identifier"), zone.getID());
}
}
@Override
protected void put(final StructuredContent content, final PersonIdent identity) {
putIdentity(content, identity);
}
}