Class TimePatternFilter

  • All Implemented Interfaces:
    IFilter<java.lang.Long>, java.io.Serializable

    public class TimePatternFilter
    extends ComposedFilter<java.lang.Long>
    Create a new time pattern.
    See Also:
    Serialized Form
    • Field Detail

      • ALWAYS

        public static final IFilter<java.lang.Integer> ALWAYS
        The always true filter.
      • pattern

        protected java.lang.String pattern
        The pattern.
    • Constructor Detail

      • TimePatternFilter

        public TimePatternFilter()
        Create a new TimePatternFilter.
      • TimePatternFilter

        public TimePatternFilter​(java.lang.String pattern)
        Create a new time pattern.
        Parameters:
        pattern - The pattern.
    • Method Detail

      • getPattern

        public java.lang.String getPattern()
        Get the pattern.
        Returns:
        The pattern.
      • setPattern

        public void setPattern​(java.lang.String pattern)
        Set the pattern.
        Parameters:
        pattern - The pattern to set.
      • getFilters

        public IFilter<java.lang.Long>[] getFilters()
        Get the filters.
        Overrides:
        getFilters in class ComposedFilter<java.lang.Long>
        Returns:
        the filters.
      • getNextTimepoint

        public long getNextTimepoint​(long start,
                                     long end)
        Get the next matching time point or raise an exception in none is in the range.
        Parameters:
        start - The start time.
        end - The end time.
        Returns:
        The time.
      • parsePattern

        public static IFilter<java.lang.Long>[] parsePattern​(java.lang.String pattern)
        Parse the time pattern.
      • parseOnePattern

        protected static IFilter<java.lang.Long> parseOnePattern​(java.lang.String tok)
        Parse one pattern (not a combined one with |)
        Parameters:
        tok - The token.
        Returns:
        The filter.
      • createFilter

        protected static IFilter<java.lang.Integer> createFilter​(java.lang.String tok,
                                                                 int min,
                                                                 int max)
        Create a new time filter for one part of the time (min, hour, month, ...)
        Parameters:
        tok - The pattern part.
        min - The min value.
        max - The max value.
        Returns:
        The partial filter.
      • parseRange

        protected static void parseRange​(java.lang.String tok,
                                         java.util.Set<java.lang.Integer> vals)
        Parse a range spec.
        Parameters:
        tok - The range spec.
        vals - The result values.
      • main

        public static void main​(java.lang.String[] args)
        Main for testing.