com.geotab.model.search.FuelUsedSearch Maven / Gradle / Ivy
package com.geotab.model.search;
import com.geotab.model.entity.fuel.FuelUsed;
import java.time.LocalDateTime;
import lombok.Builder;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
/**
* The object used to specify the arguments when searching for {@link FuelUsed} elements.
*
* This search has been designed to work efficiently with these parameters:
*
* - id
* - DeviceSearch + FromData and/or ToDate
*
*/
@Getter @Setter
@NoArgsConstructor
public class FuelUsedSearch extends Search {
/**
* Filter by the {@link DeviceSearch} options. Providing a device ID will search for any FuelUsed data that are assigned to that Device. Providing
* the Groups will search for FuelUsed data for that have Devices in that group. Available DeviceSearch options are:
*
* - id
* - groups
*
*/
private DeviceSearch deviceSearch;
/**
* The 'from date', which is used to search for {@link FuelUsed} records recorded on or after this date.
*/
private LocalDateTime fromDate;
/**
* The 'to date', which is used to search for {@link FuelUsed} records recorded on or before this date.
*/
private LocalDateTime toDate;
@Builder
public FuelUsedSearch(String id, DeviceSearch deviceSearch, LocalDateTime fromDate, LocalDateTime toDate) {
super(id);
this.deviceSearch = deviceSearch;
this.fromDate = fromDate;
this.toDate = toDate;
}
}