com.geotab.model.search.ChargeEventSearch Maven / Gradle / Ivy
package com.geotab.model.search;
import com.geotab.model.entity.charging.ChargeEvent;
import java.time.LocalDateTime;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
@Getter @Setter
@AllArgsConstructor
@NoArgsConstructor
public class ChargeEventSearch extends Search {
/**
* Search for {@link ChargeEvent} with this DeviceSearch Id
*
* Available DeviceSearch options are:.
*
* - id
* - group
*
*/
private DeviceSearch deviceSearch;
/**
* Gets or sets the from date, which is used to search for ChargeEvent(s) recorded on or after this date.
*/
public LocalDateTime fromDate;
/**
* Gets or sets the to date, which is used to search for ChargeEvent(s) recorded on or before this date.
*/
public LocalDateTime toDate;
/**
* false
* Gets or sets the row version of the {@link ChargeEvent} search criteria.
*/
public Long version;
/**
* false
* Gets or sets the maximum row version of the {@link ChargeEvent} search criteria.
*/
public Long maxVersion;
/**
* The object used to specify the arguments when searching for {@link ChargeEvent}(s).
*
* Gets or sets filter by the {@link DeviceSearch} options. Providing a device ID will
* search for any ChargeEvents that are assigned to that Device.
* Providing the Groups will search for ChargeEvents for that have Devices in that group.
* Available DeviceSearch options are:
*
* -
* Id
*
* -
* DeviceSearch + FromDate and/or ToDate (+ IncludeOverlappedTrips)
*
* -
* UserSearch + FromDate and/or ToDate (+ IncludeOverlappedTrips)
*
*
*/
@Builder
public ChargeEventSearch(String id, DeviceSearch deviceSearch, LocalDateTime fromDate, LocalDateTime toDate,
Long version, Long maxVersion) {
super(id);
this.deviceSearch = deviceSearch;
this.fromDate = fromDate;
this.toDate = toDate;
this.version = version;
this.maxVersion = maxVersion;
}
}