package iwocs.graphs.propagation;

public class PropagationStepInfos {
    private int initialI;
    private int initialS;

    private int newI;
    private int newS;

    public PropagationStepInfos(int initialI, int initialS, int newI, int newS) {
        this.initialI = initialI;
        this.initialS = initialS;
        
        this.newI = newI;
        this.newS = newS;
    }

    /**
     * @return the newI
     */
    public int getNewI() {
        return newI;
    }

    /**
     * @return the newS
     */
    public int getNewS() {
        return newS;
    }

    /**
     * @return the initialI
     */
    public int getInitialI() {
        return initialI;
    }

    /**
     * @return the initialS
     */
    public int getInitialS() {
        return initialS;
    }
    
    /**
     * Get the number of infected nodes
     * at the end of the step.
     * 
     * @return infected at step's end.
     */
    public int getFinalI() {
        return this.initialI + this.newI;
    }
    
    /**
     * Get the number of susceptible nodes
     * at the end of the step.
     * 
     * @return susceptible at step's end.
     */
    public int getFinalS() {
        return this.initialS + this.newS;
    }

    /**
     * @param newI the newI to set
     */
    public void setNewI(int newI) {
        this.newI = newI;
    }
    
    /**
     * @param newS the newS to set
     */
    public void setNewS(int newS) {
        this.newS = newS;
    }

    /**
     * @param initialI the initialI to set
     */
    public void setInitialI(int initialI) {
        this.initialI = initialI;
    }

    /**
     * @param initialS the initialS to set
     */
    public void setInitialS(int initialS) {
        this.initialS = initialS;
    }
}