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:
  • Field Details

    • serialVersionUID

      private static final long serialVersionUID
      See Also:
    • name

      private final String name
    • emailAddress

      private final String emailAddress
    • when

      private final long when
    • tzOffset

      private final int tzOffset
  • 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

      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, Date aWhen)
      Copy a PersonIdent, but alter the clone's time stamp
      Parameters:
      pi - original PersonIdent
      aWhen - local time
    • PersonIdent

      public PersonIdent(String aName, String aEmailAddress, Date aWhen, TimeZone aTZ)
      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(PersonIdent pi, long aWhen, int aTZ)
      Copy a PersonIdent, but alter the clone's time stamp
      Parameters:
      pi - original PersonIdent
      aWhen - local time stamp
      aTZ - time zone
    • PersonIdent

      private PersonIdent(String aName, String aEmailAddress, long when)
    • PersonIdent

      private PersonIdent(UserConfig config)
    • PersonIdent

      public PersonIdent(String aName, String aEmailAddress, long aWhen, int aTZ)
      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
    • 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

      public Date getWhen()
      Get timestamp
      Returns:
      timestamp
    • getTimeZone

      public TimeZone getTimeZone()
      Get this person's declared time zone
      Returns:
      this person's declared time zone; null if time zone is unknown.
    • getTimeZoneOffset

      public int getTimeZoneOffset()
      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