Class Timesheet.TimesheetLine

    • Constructor Summary

      Constructors 
      Constructor Description
      TimesheetLine​(java.lang.String assignId, java.lang.String resId1, java.lang.String resId2)
      Constructor of empty line between 2 resources
      TimesheetLine​(java.lang.String assignId, java.lang.String resId1, java.lang.String resId2, java.lang.String label1, java.lang.String label2)
      Constructor of empty line between 2 resources
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      void addValue​(java.lang.String key, int indexField, java.lang.String val)
      Add value in period key
      void addValues​(java.lang.String key, java.lang.String[] val)
      Add values to the period key
      int compareTo​(Timesheet.TimesheetLine line)  
      void copyInputs​(Timesheet.TimesheetLine line, java.lang.String begin, java.lang.String end)
      Add the line inputs values between a given period
      java.lang.String getAssignRowId()
      Assign row ID
      java.lang.String getBeginKey()
      Optional begin key of start date
      java.lang.String getEndKey()
      Optional end key of end date
      java.lang.String getGroupBy()
      Optional group by value
      java.util.Map<java.lang.String,​java.lang.String[]> getInputs()
      Get inputs key yyyy-MM-dd or yyyy-WW or yyyy-MM = Values for each input field
      java.lang.String[] getMinMaxInputKeys()
      Returns the period including not null inputs
      java.lang.String getResource1Label()
      Resource1 label
      java.lang.String getResource1RowId()
      Resource1 row ID
      java.lang.String getResource2Label()
      Resource2 label
      java.lang.String getResource2RowId()
      Resource2 row ID
      java.lang.String getStatus​(java.lang.String period)
      Optional period status
      double[] getSubTotals()
      Sub-total for a period per input field
      double[] getTotals()
      Total per input field
      double getWorkload()
      Optional assignment workload
      void refactor​(double factor, java.lang.String begin, java.lang.String end)
      Change the inputs charges in a given period
      void save​(java.util.List<Timesheet.Period> periods, java.util.List<java.lang.String> msg)
      Save the line
      void setAssignPeriodKeys​(java.lang.String begin, java.lang.String end)
      Prepare keys with the assigned period
      void setGroupBy​(java.lang.String groupBy)
      Optional group by value
      void setStatus​(java.lang.String period, java.lang.String status)
      Set period status
      void setWorkload​(double w)  
      boolean shift​(int offset)
      Move and resize the input charges in time
      java.lang.String toJSON()
      Line data
      java.lang.String toString()  
      • Methods inherited from class java.lang.Object

        equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
    • Constructor Detail

      • TimesheetLine

        public TimesheetLine​(java.lang.String assignId,
                             java.lang.String resId1,
                             java.lang.String resId2)
        Constructor of empty line between 2 resources
        Parameters:
        assignId - assign row ID
        resId1 - resource 1 row Id
        resId2 - resource 2 row Id
      • TimesheetLine

        public TimesheetLine​(java.lang.String assignId,
                             java.lang.String resId1,
                             java.lang.String resId2,
                             java.lang.String label1,
                             java.lang.String label2)
        Constructor of empty line between 2 resources
        Parameters:
        assignId - assign row ID
        resId1 - resource 1 row Id
        resId2 - resource 2 row Id
        label1 - resource 1 label
        label2 - resource 2 label
    • Method Detail

      • getAssignRowId

        public java.lang.String getAssignRowId()
        Assign row ID
      • getResource1RowId

        public java.lang.String getResource1RowId()
        Resource1 row ID
      • getResource1Label

        public java.lang.String getResource1Label()
        Resource1 label
      • getResource2RowId

        public java.lang.String getResource2RowId()
        Resource2 row ID
      • getResource2Label

        public java.lang.String getResource2Label()
        Resource2 label
      • getStatus

        public java.lang.String getStatus​(java.lang.String period)
        Optional period status
      • setStatus

        public void setStatus​(java.lang.String period,
                              java.lang.String status)
        Set period status
      • getWorkload

        public double getWorkload()
        Optional assignment workload
      • setWorkload

        public void setWorkload​(double w)
      • getTotals

        public double[] getTotals()
        Total per input field
      • getSubTotals

        public double[] getSubTotals()
        Sub-total for a period per input field
      • getBeginKey

        public java.lang.String getBeginKey()
        Optional begin key of start date
      • getEndKey

        public java.lang.String getEndKey()
        Optional end key of end date
      • getGroupBy

        public java.lang.String getGroupBy()
        Optional group by value
      • setGroupBy

        public void setGroupBy​(java.lang.String groupBy)
        Optional group by value
      • getInputs

        public java.util.Map<java.lang.String,​java.lang.String[]> getInputs()
        Get inputs key yyyy-MM-dd or yyyy-WW or yyyy-MM = Values for each input field
      • setAssignPeriodKeys

        public void setAssignPeriodKeys​(java.lang.String begin,
                                        java.lang.String end)
        Prepare keys with the assigned period
      • getMinMaxInputKeys

        public java.lang.String[] getMinMaxInputKeys()
        Returns the period including not null inputs
      • addValues

        public void addValues​(java.lang.String key,
                              java.lang.String[] val)
        Add values to the period key
      • addValue

        public void addValue​(java.lang.String key,
                             int indexField,
                             java.lang.String val)
        Add value in period key
        Parameters:
        key - Period key
        indexField - Input index
        val - Value
      • copyInputs

        public void copyInputs​(Timesheet.TimesheetLine line,
                               java.lang.String begin,
                               java.lang.String end)
        Add the line inputs values between a given period
        Parameters:
        line - Timesheet line
        begin - Optional start date
        end - Optional end date
      • refactor

        public void refactor​(double factor,
                             java.lang.String begin,
                             java.lang.String end)
        Change the inputs charges in a given period
        Parameters:
        factor - Factor to apply
        begin - Optional start date
        end - Optional end date
      • shift

        public boolean shift​(int offset)
        Move and resize the input charges in time
        Parameters:
        offset - Shift size in days if field is shiftable
      • save

        public void save​(java.util.List<Timesheet.Period> periods,
                         java.util.List<java.lang.String> msg)
        Save the line
        Parameters:
        periods - Periods to save
        msg - Message to append errors
      • toString

        public java.lang.String toString()
        Overrides:
        toString in class java.lang.Object
      • toJSON

        public java.lang.String toJSON()
        Line data
        Returns:
        JSON