Class PersonIdent

java.lang.Object
org.eclipse.jgit.lib.PersonIdent
All Implemented Interfaces:
Serializable

public class PersonIdent extends Object implements Serializable
A combination of a person identity and time in Git. Git combines Name + email + time + time zone to specify who wrote or committed something.
See Also:
  • Constructor Details

    • PersonIdent

      public PersonIdent(Repository repo)
      Creates new PersonIdent from config info in repository, with current time. This new PersonIdent gets the info from the default committer as available from the configuration.
      Parameters:
      repo - a Repository object.
    • PersonIdent

      public PersonIdent(PersonIdent pi)
      Copy a PersonIdent.
      Parameters:
      pi - Original PersonIdent
    • PersonIdent

      public PersonIdent(String aName, String aEmailAddress)
      Construct a new PersonIdent with current time.
      Parameters:
      aName - a String object.
      aEmailAddress - a String object.
    • PersonIdent

      public PersonIdent(String aName, String aEmailAddress, ProposedTimestamp when)
      Construct a new PersonIdent with current time.
      Parameters:
      aName - a String object.
      aEmailAddress - a String object.
      when - a ProposedTimestamp object.
      Since:
      4.6
    • PersonIdent

      @Deprecated(since="7.1") public PersonIdent(PersonIdent pi, Date when, TimeZone tz)
      Copy a PersonIdent, but alter the clone's time stamp
      Parameters:
      pi - original PersonIdent
      when - local time
      tz - time zone
    • PersonIdent

      public PersonIdent(PersonIdent pi, Instant when, ZoneId tz)
      Copy a PersonIdent, but alter the clone's time stamp
      Parameters:
      pi - original PersonIdent
      when - local time
      tz - time zone offset
      Since:
      7.1
    • PersonIdent

      @Deprecated(since="7.1") public PersonIdent(PersonIdent pi, Date aWhen)
      Deprecated.
      Use the variant with an Instant instead
      Copy a PersonIdent, but alter the clone's time stamp
      Parameters:
      pi - original PersonIdent
      aWhen - local time
    • PersonIdent

      public PersonIdent(PersonIdent pi, Instant aWhen)
      Copy a PersonIdent, but alter the clone's time stamp
      Parameters:
      pi - original PersonIdent
      aWhen - local time as Instant
      Since:
      6.1
    • PersonIdent

      @Deprecated(since="7.1") public PersonIdent(String aName, String aEmailAddress, Date aWhen, TimeZone aTZ)
      Deprecated.
      Use the variant with Instant and ZoneId instead
      Construct a PersonIdent from simple data
      Parameters:
      aName - a String object.
      aEmailAddress - a String object.
      aWhen - local time stamp
      aTZ - time zone
    • PersonIdent

      public PersonIdent(String aName, String aEmailAddress, Instant aWhen, ZoneId zoneId)
      Construct a PersonIdent from simple data
      Parameters:
      aName - a String object.
      aEmailAddress - a String object.
      aWhen - local time stamp
      zoneId - time zone id
      Since:
      6.1
    • PersonIdent

      @Deprecated(since="7.1") public PersonIdent(PersonIdent pi, long aWhen, int aTZ)
      Deprecated.
      Use the variant with Instant and ZoneId instead
      Copy a PersonIdent, but alter the clone's time stamp
      Parameters:
      pi - original PersonIdent
      aWhen - local time stamp
      aTZ - time zone
    • PersonIdent

      @Deprecated(since="7.1") public PersonIdent(String aName, String aEmailAddress, long aWhen, int aTZ)
      Deprecated.
      Use the variant with Instant and ZoneId instead
      Construct a PersonIdent.

      Whitespace in the name and email is preserved for the lifetime of this object, but are trimmed by toExternalString(). This means that parsing the result of toExternalString() may not return an equivalent instance.

      Parameters:
      aName - a String object.
      aEmailAddress - a String object.
      aWhen - local time stamp
      aTZ - time zone
  • Method Details

    • getTimeZone

      public static TimeZone getTimeZone(int tzOffset)
      Get timezone object for the given offset.
      Parameters:
      tzOffset - timezone offset as in getTimeZoneOffset().
      Returns:
      time zone object for the given offset.
      Since:
      4.1
    • getZoneId

      public static ZoneId getZoneId(int tzOffset)
      Translate a minutes offset into a ZoneId
      Parameters:
      tzOffset - as minutes east of UTC
      Returns:
      a ZoneId for this offset
      Since:
      7.1
    • appendTimezone

      public static void appendTimezone(StringBuilder r, int offset)
      Format a timezone offset.
      Parameters:
      r - string builder to append to.
      offset - timezone offset as in getTimeZoneOffset().
      Since:
      4.1
    • appendSanitized

      public static void appendSanitized(StringBuilder r, String str)
      Sanitize the given string for use in an identity and append to output.

      Trims whitespace from both ends and special characters \n < > that interfere with parsing; appends all other characters to the output. Analogous to the C git function strbuf_addstr_without_crud.

      Parameters:
      r - string builder to append to.
      str - input string.
      Since:
      4.4
    • getName

      public String getName()
      Get name of person
      Returns:
      Name of person
    • getEmailAddress

      public String getEmailAddress()
      Get email address of person
      Returns:
      email address of person
    • getWhen

      @Deprecated(since="7.1") public Date getWhen()
      Deprecated.
      Use getWhenAsInstant instead
      Get timestamp
      Returns:
      timestamp
    • getWhenAsInstant

      public Instant getWhenAsInstant()
      Get when attribute as instant
      Returns:
      timestamp
      Since:
      6.1
    • getTimeZone

      @Deprecated(since="7.1") public TimeZone getTimeZone()
      Deprecated.
      Use getZoneId instead
      Get this person's declared time zone
      Returns:
      this person's declared time zone; null if time zone is unknown.
    • getZoneId

      public ZoneId getZoneId()
      Get the time zone id
      Returns:
      the time zone id
      Since:
      6.1
    • getZoneOffset

      public ZoneOffset getZoneOffset()
      Return the offset in this timezone at the specific time
      Returns:
      the offset
      Since:
      7.1
    • getTimeZoneOffset

      @Deprecated(since="7.1") public int getTimeZoneOffset()
      Deprecated.
      Use getZoneOffset() and read minutes from there
      Get this person's declared time zone as minutes east of UTC.
      Returns:
      this person's declared time zone as minutes east of UTC. If the timezone is to the west of UTC it is negative.
    • hashCode

      public int hashCode()

      Hashcode is based only on the email address and timestamp.

      Overrides:
      hashCode in class Object
    • equals

      public boolean equals(Object o)
      Overrides:
      equals in class Object
    • toExternalString

      public String toExternalString()
      Format for Git storage.
      Returns:
      a string in the git author format
    • toString

      public String toString()
      Overrides:
      toString in class Object