Class SplitDateTimeVariableValue

  • All Implemented Interfaces:
    java.awt.event.ActionListener, java.awt.event.FocusListener, java.beans.PropertyChangeListener, java.util.EventListener

    public class SplitDateTimeVariableValue
    extends SplitVariableValue
    Like SplitVariableValue, except that the string representation is a date and time relative to a given epoch start date.
    • A base attribute is required to indicate the epoch (zero) date and must be in XML dateTime format "YYYY-MM-DDThh:mm:ss"(all components are required). For example, the RailCom (S9.3.2) epoch is "2000-01-01T00:00:00", while the Java epoch is "1970-01-01T00:00:00"
    • A unit attribute specifies the time unit of the value stored in the CVs. The default is "Seconds" and the available units are "Nanos", "Micros", "Millis", "Seconds", "Minutes", "Hours", "HalfDays", "Days", "Weeks", "Months", "Years", "Decades", "Centuries", "Millennia" as per ChronoUnit.values()
    • A factor attribute can be used to specify that the stored value is in multiples of a unit. For example, if the stored value is in tenths of a second, use unit="Millis", factor="100". Large values of factor should be avoided, due to the possibility of multiplication overflow.
    • A display attribute specifies the what is returned in the string representation The default is to return both date and time and the available displays are "dateOnly", "timeOnly" and "default".
    Due to the difficulties in parsing date and time values, together with the loss of information in the display format and back conversion, the string representation will always be readOnly, even though the underlying CV values may not be readOnly.
    • Constructor Detail

      • SplitDateTimeVariableValue

        public SplitDateTimeVariableValue​(java.lang.String name,
                                          java.lang.String comment,
                                          java.lang.String cvName,
                                          boolean readOnly,
                                          boolean infoOnly,
                                          boolean writeOnly,
                                          boolean opsOnly,
                                          java.lang.String cvNum,
                                          java.lang.String mask,
                                          int minVal,
                                          int maxVal,
                                          java.util.HashMap<java.lang.String,​CvValue> v,
                                          javax.swing.JLabel status,
                                          java.lang.String stdname,
                                          java.lang.String pSecondCV,
                                          int pFactor,
                                          int pOffset,
                                          java.lang.String uppermask,
                                          java.lang.String extra1,
                                          java.lang.String extra2,
                                          java.lang.String extra3,
                                          java.lang.String extra4)
    • Method Detail

      • stepOneActions

        public void stepOneActions​(java.lang.String name,
                                   java.lang.String comment,
                                   java.lang.String cvName,
                                   boolean readOnly,
                                   boolean infoOnly,
                                   boolean writeOnly,
                                   boolean opsOnly,
                                   java.lang.String cvNum,
                                   java.lang.String mask,
                                   int minVal,
                                   int maxVal,
                                   java.util.HashMap<java.lang.String,​CvValue> v,
                                   javax.swing.JLabel status,
                                   java.lang.String stdname,
                                   java.lang.String pSecondCV,
                                   int pFactor,
                                   int pOffset,
                                   java.lang.String uppermask,
                                   java.lang.String extra1,
                                   java.lang.String extra2,
                                   java.lang.String extra3,
                                   java.lang.String extra4)
        Description copied from class: SplitVariableValue
        Subclasses can override this to pick up constructor-specific attributes and perform other actions before cvList has been built.
        Overrides:
        stepOneActions in class SplitVariableValue
        Parameters:
        name - name.
        comment - comment.
        cvName - cv name.
        readOnly - true for read only, else false.
        infoOnly - true for info only, else false.
        writeOnly - true for write only, else false.
        opsOnly - true for ops only, else false.
        cvNum - cv number.
        mask - cv mask.
        minVal - minimum value.
        maxVal - maximum value.
        v - hashmap of string and cv value.
        status - status.
        stdname - std name.
        pSecondCV - second cv (no longer preferred, specify in cv)
        pFactor - factor.
        pOffset - offset.
        uppermask - upper mask (no longer preferred, specify in mask)
        extra1 - extra 1.
        extra2 - extra 2.
        extra3 - extra 3.
        extra4 - extra 4.
      • getTextFromDateTime

        java.lang.String getTextFromDateTime​(java.time.LocalDateTime dateTime)
        Parameters:
        dateTime - a LocalDateTime value.
        Returns:
        a string representation of dateTime.
      • setValue

        public void setValue​(java.lang.String value)
        Set value from a String value.

        This does nothing since we can't reliably parse text to date/time value.

        Overrides:
        setValue in class SplitVariableValue
        Parameters:
        value - a string representing the date/time value to be set