001 package org.apache.maven.scm.command.blame;
002
003 /*
004 * Licensed to the Apache Software Foundation (ASF) under one
005 * or more contributor license agreements. See the NOTICE file
006 * distributed with this work for additional information
007 * regarding copyright ownership. The ASF licenses this file
008 * to you under the Apache License, Version 2.0 (the
009 * "License"); you may not use this file except in compliance
010 * with the License. You may obtain a copy of the License at
011 *
012 * http://www.apache.org/licenses/LICENSE-2.0
013 *
014 * Unless required by applicable law or agreed to in writing,
015 * software distributed under the License is distributed on an
016 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
017 * KIND, either express or implied. See the License for the
018 * specific language governing permissions and limitations
019 * under the License.
020 */
021
022 import java.io.Serializable;
023 import java.util.Date;
024
025 /**
026 * @author Evgeny Mandrikov
027 * @since 1.4
028 */
029 public class BlameLine
030 implements Serializable
031 {
032
033 private static final long serialVersionUID = 2675122069344705612L;
034
035 private Date date;
036
037 private String revision;
038
039 private String author;
040
041 private String committer;
042
043 /**
044 * @param date of the commit
045 * @param revision of the commit
046 * @param author will also be used as committer identification
047 */
048 public BlameLine( Date date, String revision, String author )
049 {
050 this( date, revision, author, author );
051 }
052
053 /**
054 *
055 * @param date of the commit
056 * @param revision of the commit
057 * @param author the person who wrote the line
058 * @param committer the person who committed the change
059 */
060 public BlameLine( Date date, String revision, String author, String committer )
061 {
062 setDate( date );
063 setRevision( revision );
064 setAuthor( author );
065 setCommitter( committer );
066 }
067
068 public String getRevision()
069 {
070 return revision;
071 }
072
073 public void setRevision( String revision )
074 {
075 this.revision = revision;
076 }
077
078 public String getAuthor()
079 {
080 return author;
081 }
082
083 public void setAuthor( String author )
084 {
085 this.author = author;
086 }
087
088 public String getCommitter()
089 {
090 return committer;
091 }
092
093 public void setCommitter( String committer )
094 {
095 this.committer = committer;
096 }
097
098 /**
099 * @return the commit date
100 */
101 public Date getDate()
102 {
103 if ( date != null )
104 {
105 return (Date) date.clone();
106 }
107 return null;
108 }
109
110 public void setDate( Date date )
111 {
112 if ( date != null )
113 {
114 this.date = new Date( date.getTime() );
115 }
116 else
117 {
118 this.date = null;
119 }
120 }
121 }