package com.optage.model;

/**
 * システム名 : Optage Test System
 * モジュール名 : ChangeMarker
 * <機能概要> Represents a change marker in the code.
 * v1.0.0 2023/01/01 X.Nguyen Initial creation
 */
public class ChangeMarker {
    private String ticketId;
    private String version;
    private String opType;  // ADD, MOD, DEL
    private String author;
    private String date;
    private int lineStart;
    private int lineEnd;

    // v1.0.0 ANK-1234-00-00 ADD START
    public ChangeMarker(String ticketId, String version, String opType, 
                       String author, String date, int lineStart, int lineEnd) {
        this.ticketId = ticketId;
        this.version = version;
        this.opType = opType;
        this.author = author;
        this.date = date;
        this.lineStart = lineStart;
        this.lineEnd = lineEnd;
    }
    // v1.0.0 ANK-1234-00-00 ADD END

    // Getters
    public String getTicketId() { return ticketId; }
    public String getVersion() { return version; }
    public String getOpType() { return opType; }
    public String getAuthor() { return author; }
    public String getDate() { return date; }
    public int getLineStart() { return lineStart; }
    public int getLineEnd() { return lineEnd; }

    @Override
    public String toString() {
        return String.format("ChangeMarker{ticket=%s, version=%s, op=%s, author=%s, date=%s, lines=%d-%d}",
                ticketId, version, opType, author, date, lineStart, lineEnd);
    }
}