test_class.file: jtss/src/test/java/ec/tss/tsproviders/utils/OptionalTsDataTest.java
test_class.identifier: OptionalTsDataTest
test_case.body: @Test
      public void testBuilderByLocalDate() {
          CustomFactory<LocalDate> factory = new CustomFactory<LocalDate>() {
              @Override
              public Builder2<LocalDate> builderOf(ObsGathering gathering) {
                  return builderByLocalDate(gathering);
              }
  
              @Override
              public LocalDate dateOf(int year, int month, int dayOfMonth) {
                  return LocalDate.of(year, month, dayOfMonth);
              }
          };
          testBuilderAdd(factory);
          testBuilderPresent(factory);
          testBuilderAbsent(factory);
      }
test_case.class_method_signature: OptionalTsDataTest.testBuilderByLocalDate()
test_case.full_signature: @Test public void testBuilderByLocalDate()
test_case.identifier: testBuilderByLocalDate
test_case.invocations: builderByLocalDate of testBuilderAdd testBuilderPresent testBuilderAbsent
test_case.modifiers: @Test public
test_case.parameters: ()
test_case.return: void
test_case.signature: void testBuilderByLocalDate()
focal_class.declarator: NO_DATA = new Absent("No data available")
focal_class.modifier: @VisibleForTesting
      static final
focal_class.original_string: @VisibleForTesting
      static final OptionalTsData NO_DATA = new Absent("No data available");
focal_class.type: OptionalTsData
focal_class.var_name: NO_DATA
focal_class.declarator: INVALID_AGGREGATION = new Absent("Invalid aggregation mode")
focal_class.modifier: @VisibleForTesting
      static final
focal_class.original_string: @VisibleForTesting
      static final OptionalTsData INVALID_AGGREGATION = new Absent("Invalid aggregation mode");
focal_class.type: OptionalTsData
focal_class.var_name: INVALID_AGGREGATION
focal_class.declarator: GUESS_SINGLE = new Absent("Cannot guess frequency with a single observation")
focal_class.modifier: @VisibleForTesting
      static final
focal_class.original_string: @VisibleForTesting
      static final OptionalTsData GUESS_SINGLE = new Absent("Cannot guess frequency with a single observation");
focal_class.type: OptionalTsData
focal_class.var_name: GUESS_SINGLE
focal_class.declarator: GUESS_DUPLICATION = new Absent("Cannot guess frequency with duplicated periods")
focal_class.modifier: @VisibleForTesting
      static final
focal_class.original_string: @VisibleForTesting
      static final OptionalTsData GUESS_DUPLICATION = new Absent("Cannot guess frequency with duplicated periods");
focal_class.type: OptionalTsData
focal_class.var_name: GUESS_DUPLICATION
focal_class.declarator: DUPLICATION_WITHOUT_AGGREGATION = new Absent("Duplicated observations without aggregation")
focal_class.modifier: @VisibleForTesting
      static final
focal_class.original_string: @VisibleForTesting
      static final OptionalTsData DUPLICATION_WITHOUT_AGGREGATION = new Absent("Duplicated observations without aggregation");
focal_class.type: OptionalTsData
focal_class.var_name: DUPLICATION_WITHOUT_AGGREGATION
focal_class.declarator: UNKNOWN = new Absent("Unexpected error")
focal_class.modifier: @VisibleForTesting
      static final
focal_class.original_string: @VisibleForTesting
      static final OptionalTsData UNKNOWN = new Absent("Unexpected error");
focal_class.type: OptionalTsData
focal_class.var_name: UNKNOWN
focal_class.file: jtss/src/main/java/ec/tss/tsproviders/utils/OptionalTsData.java
focal_class.identifier: OptionalTsData
focal_class.class_method_signature: OptionalTsData.present(@NonNull TsData data)
focal_class.full_signature: @NonNull public static OptionalTsData present(@NonNull TsData data)
focal_class.identifier: present
focal_class.modifiers: @NonNull public static
focal_class.parameters: (@NonNull TsData data)
focal_class.return: OptionalTsData
focal_class.signature: OptionalTsData present(@NonNull TsData data)
focal_class.class_method_signature: OptionalTsData.present(@NonNegative int nbrRows, @NonNegative int nbrUselessRows, @NonNull TsData data)
focal_class.full_signature: @Deprecated @NonNull public static OptionalTsData present(@NonNegative int nbrRows, @NonNegative int nbrUselessRows, @NonNull TsData data)
focal_class.identifier: present
focal_class.modifiers: @Deprecated @NonNull public static
focal_class.parameters: (@NonNegative int nbrRows, @NonNegative int nbrUselessRows, @NonNull TsData data)
focal_class.return: OptionalTsData
focal_class.signature: OptionalTsData present(@NonNegative int nbrRows, @NonNegative int nbrUselessRows, @NonNull TsData data)
focal_class.class_method_signature: OptionalTsData.absent(@NonNull String cause)
focal_class.full_signature: @NonNull public static OptionalTsData absent(@NonNull String cause)
focal_class.identifier: absent
focal_class.modifiers: @NonNull public static
focal_class.parameters: (@NonNull String cause)
focal_class.return: OptionalTsData
focal_class.signature: OptionalTsData absent(@NonNull String cause)
focal_class.class_method_signature: OptionalTsData.absent(@NonNegative int nbrRows, @NonNegative int nbrUselessRows, @NonNull String cause)
focal_class.full_signature: @Deprecated @NonNull public static OptionalTsData absent(@NonNegative int nbrRows, @NonNegative int nbrUselessRows, @NonNull String cause)
focal_class.identifier: absent
focal_class.modifiers: @Deprecated @NonNull public static
focal_class.parameters: (@NonNegative int nbrRows, @NonNegative int nbrUselessRows, @NonNull String cause)
focal_class.return: OptionalTsData
focal_class.signature: OptionalTsData absent(@NonNegative int nbrRows, @NonNegative int nbrUselessRows, @NonNull String cause)
focal_class.class_method_signature: OptionalTsData.builderByDate(@NonNull Calendar resource, @NonNull ObsGathering gathering, @NonNull ObsCharacteristics... characteristics)
focal_class.full_signature: @NonNull public static Builder2<Date> builderByDate(@NonNull Calendar resource, @NonNull ObsGathering gathering, @NonNull ObsCharacteristics... characteristics)
focal_class.identifier: builderByDate
focal_class.modifiers: @NonNull public static
focal_class.parameters: (@NonNull Calendar resource, @NonNull ObsGathering gathering, @NonNull ObsCharacteristics... characteristics)
focal_class.return: Builder2<Date>
focal_class.signature: Builder2<Date> builderByDate(@NonNull Calendar resource, @NonNull ObsGathering gathering, @NonNull ObsCharacteristics... characteristics)
focal_class.class_method_signature: OptionalTsData.builderByLocalDate(@NonNull ObsGathering gathering, @NonNull ObsCharacteristics... characteristics)
focal_class.full_signature: @NonNull public static Builder2<LocalDate> builderByLocalDate(@NonNull ObsGathering gathering, @NonNull ObsCharacteristics... characteristics)
focal_class.identifier: builderByLocalDate
focal_class.modifiers: @NonNull public static
focal_class.parameters: (@NonNull ObsGathering gathering, @NonNull ObsCharacteristics... characteristics)
focal_class.return: Builder2<LocalDate>
focal_class.signature: Builder2<LocalDate> builderByLocalDate(@NonNull ObsGathering gathering, @NonNull ObsCharacteristics... characteristics)
focal_class.class_method_signature: OptionalTsData.getNbrRows()
focal_class.full_signature: @Deprecated @NonNegative public int getNbrRows()
focal_class.identifier: getNbrRows
focal_class.modifiers: @Deprecated @NonNegative public
focal_class.parameters: ()
focal_class.return: int
focal_class.signature: int getNbrRows()
focal_class.class_method_signature: OptionalTsData.getNbrUselessRows()
focal_class.full_signature: @Deprecated @NonNegative public int getNbrUselessRows()
focal_class.identifier: getNbrUselessRows
focal_class.modifiers: @Deprecated @NonNegative public
focal_class.parameters: ()
focal_class.return: int
focal_class.signature: int getNbrUselessRows()
focal_class.class_method_signature: OptionalTsData.isPresent()
focal_class.full_signature: abstract public boolean isPresent()
focal_class.identifier: isPresent
focal_class.modifiers: abstract public
focal_class.parameters: ()
focal_class.return: boolean
focal_class.signature: boolean isPresent()
focal_class.class_method_signature: OptionalTsData.get()
focal_class.full_signature: @NonNull @NewObject abstract public TsData get()
focal_class.identifier: get
focal_class.modifiers: @NonNull @NewObject abstract public
focal_class.parameters: ()
focal_class.return: TsData
focal_class.signature: TsData get()
focal_class.class_method_signature: OptionalTsData.or(@NonNull TsData defaultValue)
focal_class.full_signature: @NonNull public TsData or(@NonNull TsData defaultValue)
focal_class.identifier: or
focal_class.modifiers: @NonNull public
focal_class.parameters: (@NonNull TsData defaultValue)
focal_class.return: TsData
focal_class.signature: TsData or(@NonNull TsData defaultValue)
focal_class.class_method_signature: OptionalTsData.orNull()
focal_class.full_signature: @Nullable abstract public TsData orNull()
focal_class.identifier: orNull
focal_class.modifiers: @Nullable abstract public
focal_class.parameters: ()
focal_class.return: TsData
focal_class.signature: TsData orNull()
focal_class.class_method_signature: OptionalTsData.getCause()
focal_class.full_signature: @NonNull abstract public String getCause()
focal_class.identifier: getCause
focal_class.modifiers: @NonNull abstract public
focal_class.parameters: ()
focal_class.return: String
focal_class.signature: String getCause()
focal_class.class_method_signature: OptionalTsData.builder(
              ObsGathering gathering, @NonNull Set<ObsCharacteristics> characteristics,
              ToLongFunction<T> periodFunc, ObjLongToIntFunction<TsFrequency> tsPeriodIdFunc)
focal_class.full_signature: private static Builder2<T> builder(
              ObsGathering gathering, @NonNull Set<ObsCharacteristics> characteristics,
              ToLongFunction<T> periodFunc, ObjLongToIntFunction<TsFrequency> tsPeriodIdFunc)
focal_class.identifier: builder
focal_class.modifiers: private static
focal_class.parameters: (
              ObsGathering gathering, @NonNull Set<ObsCharacteristics> characteristics,
              ToLongFunction<T> periodFunc, ObjLongToIntFunction<TsFrequency> tsPeriodIdFunc)
focal_class.return: Builder2<T>
focal_class.signature: Builder2<T> builder(
              ObsGathering gathering, @NonNull Set<ObsCharacteristics> characteristics,
              ToLongFunction<T> periodFunc, ObjLongToIntFunction<TsFrequency> tsPeriodIdFunc)
focal_class.class_method_signature: OptionalTsData.makeFromUnknownFrequency(ObsList obs)
focal_class.full_signature: private static OptionalTsData makeFromUnknownFrequency(ObsList obs)
focal_class.identifier: makeFromUnknownFrequency
focal_class.modifiers: private static
focal_class.parameters: (ObsList obs)
focal_class.return: OptionalTsData
focal_class.signature: OptionalTsData makeFromUnknownFrequency(ObsList obs)
focal_class.class_method_signature: OptionalTsData.makeWithoutAggregation(ObsList obs, TsFrequency freq)
focal_class.full_signature: private static OptionalTsData makeWithoutAggregation(ObsList obs, TsFrequency freq)
focal_class.identifier: makeWithoutAggregation
focal_class.modifiers: private static
focal_class.parameters: (ObsList obs, TsFrequency freq)
focal_class.return: OptionalTsData
focal_class.signature: OptionalTsData makeWithoutAggregation(ObsList obs, TsFrequency freq)
focal_class.class_method_signature: OptionalTsData.makeWithAggregation(ObsList obs, TsFrequency freq, TsAggregationType convMode)
focal_class.full_signature: private static OptionalTsData makeWithAggregation(ObsList obs, TsFrequency freq, TsAggregationType convMode)
focal_class.identifier: makeWithAggregation
focal_class.modifiers: private static
focal_class.parameters: (ObsList obs, TsFrequency freq, TsAggregationType convMode)
focal_class.return: OptionalTsData
focal_class.signature: OptionalTsData makeWithAggregation(ObsList obs, TsFrequency freq, TsAggregationType convMode)
focal_class.class_method_signature: OptionalTsData.getIdFromTimeInMillis(Calendar cal, TsFrequency freq, long period)
focal_class.full_signature: private static int getIdFromTimeInMillis(Calendar cal, TsFrequency freq, long period)
focal_class.identifier: getIdFromTimeInMillis
focal_class.modifiers: private static
focal_class.parameters: (Calendar cal, TsFrequency freq, long period)
focal_class.return: int
focal_class.signature: int getIdFromTimeInMillis(Calendar cal, TsFrequency freq, long period)
focal_class.class_method_signature: OptionalTsData.getYearMonthDay(LocalDate date)
focal_class.full_signature: private static long getYearMonthDay(LocalDate date)
focal_class.identifier: getYearMonthDay
focal_class.modifiers: private static
focal_class.parameters: (LocalDate date)
focal_class.return: long
focal_class.signature: long getYearMonthDay(LocalDate date)
focal_class.class_method_signature: OptionalTsData.getIdFromYearMonthDay(TsFrequency freq, long period)
focal_class.full_signature: private static int getIdFromYearMonthDay(TsFrequency freq, long period)
focal_class.identifier: getIdFromYearMonthDay
focal_class.modifiers: private static
focal_class.parameters: (TsFrequency freq, long period)
focal_class.return: int
focal_class.signature: int getIdFromYearMonthDay(TsFrequency freq, long period)
focal_class.class_method_signature: OptionalTsData.calcTsPeriodId(int freq, int year, int month)
focal_class.full_signature: private static int calcTsPeriodId(int freq, int year, int month)
focal_class.identifier: calcTsPeriodId
focal_class.modifiers: private static
focal_class.parameters: (int freq, int year, int month)
focal_class.return: int
focal_class.signature: int calcTsPeriodId(int freq, int year, int month)
focal_class.class_method_signature: OptionalTsData.toEnumSet(ObsCharacteristics[] items)
focal_class.full_signature: private static EnumSet<ObsCharacteristics> toEnumSet(ObsCharacteristics[] items)
focal_class.identifier: toEnumSet
focal_class.modifiers: private static
focal_class.parameters: (ObsCharacteristics[] items)
focal_class.return: EnumSet<ObsCharacteristics>
focal_class.signature: EnumSet<ObsCharacteristics> toEnumSet(ObsCharacteristics[] items)
focal_method.body: @NonNull
      public static Builder2<LocalDate> builderByLocalDate(@NonNull ObsGathering gathering, @NonNull ObsCharacteristics... characteristics) {
          return builder(gathering, toEnumSet(characteristics), OptionalTsData::getYearMonthDay, OptionalTsData::getIdFromYearMonthDay);
      }
focal_method.class_method_signature: OptionalTsData.builderByLocalDate(@NonNull ObsGathering gathering, @NonNull ObsCharacteristics... characteristics)
focal_method.full_signature: @NonNull public static Builder2<LocalDate> builderByLocalDate(@NonNull ObsGathering gathering, @NonNull ObsCharacteristics... characteristics)
focal_method.identifier: builderByLocalDate
focal_method.invocations: builder toEnumSet
focal_method.modifiers: @NonNull public static
focal_method.parameters: (@NonNull ObsGathering gathering, @NonNull ObsCharacteristics... characteristics)
focal_method.return: Builder2<LocalDate>
focal_method.signature: Builder2<LocalDate> builderByLocalDate(@NonNull ObsGathering gathering, @NonNull ObsCharacteristics... characteristics)