All Downloads are FREE. Search and download functionalities are using the official Maven repository.

be.skylark.weather.darkskyclient.entities.DsDataPoint Maven / Gradle / Ivy

package be.skylark.weather.darkskyclient.entities;

import be.skylark.weather.darkskyclient.entities.converters.DsIconDeserializer;
import be.skylark.weather.darkskyclient.entities.converters.DsPrecipitationDeserializer;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
import lombok.Getter;
import lombok.Setter;

import java.io.Serializable;
import java.math.BigDecimal;

@JsonInclude(JsonInclude.Include.NON_NULL)
@JsonIgnoreProperties(ignoreUnknown = true)
public class DsDataPoint implements Serializable {

    /**
     * The apparent (or “feels like”) temperature.
     * Optional, only on hourly
     */
    @Getter @Setter public BigDecimal apparentTemperature;

    /**
     * The daytime high apparent temperature.
     * optional, only on daily
     */
    @Getter @Setter public BigDecimal apparentTemperatureHigh ;

    /**
     * The UNIX time representing when the daytime high apparent temperature occurs.
     * optional, only on daily
     */
    @Getter @Setter public Long apparentTemperatureHighTime ;

    /**
     * The overnight low apparent temperature.
     * optional, only on daily
     */
    @Getter @Setter public BigDecimal apparentTemperatureLow ;

    /**
     * The UNIX time representing when the overnight low apparent temperature occurs.
     * optional, only on daily
     */
    @Getter @Setter public Long apparentTemperatureLowTime ;

    /**
     * The maximum apparent temperature during a given date.
     * optional, only on daily
     */
    @Getter @Setter public BigDecimal apparentTemperatureMax ;

    /**
     * The UNIX time representing when the maximum apparent temperature during a given date occurs.
     * optional, only on daily
     */
    @Getter @Setter public Long apparentTemperatureMaxTime ;

    /**
     * The minimum apparent temperature during a given date.
     * optional, only on daily
     */
    @Getter @Setter public BigDecimal apparentTemperatureMin ;

    /**
     * The UNIX time representing when the minimum apparent temperature during a given date occurs.
     * optional, only on daily
     */
    @Getter @Setter public Long apparentTemperatureMinTime ;

    /**
     * The percentage of sky occluded by clouds, between 0 and 1, inclusive.
     * optional
     */
    @Getter @Setter public BigDecimal cloudCover ;

    /**
     * The dew point in degrees.
     * optional
     */
    @Getter @Setter public BigDecimal dewPoint ;

    /**
     * The relative humidity, between 0 and 1, inclusive.
     * optional
     */
    @Getter @Setter public BigDecimal humidity ;

    /**
     * A machine-readable text summary of this data point, suitable for selecting an icon for display.
     * optional
     */
    @JsonDeserialize(using = DsIconDeserializer.class)
    @Getter @Setter public DsIcon icon ;

    /**
     * The fractional part of the lunation number during the given day: a value of 0 corresponds to a new moon,
     * 0.25 to a first quarter moon, 0.5 to a full moon, and 0.75 to a last quarter moon.
     * (The ranges in between these represent waxing crescent, waxing gibbous, waning gibbous, and waning crescent
     * moons, respectively.)
     * optional, only on daily
     */
    @Getter @Setter public BigDecimal moonPhase ;

    /**
     * The approximate direction of the nearest storm in degrees, with true north at 0° and progressing clockwise.
     * (If nearestStormDistance is zero, then this value will not be defined.)
     * optional, only on currently
     */
    @Getter @Setter public BigDecimal nearestStormBearing ;

    /**
     * The approximate distance to the nearest storm in miles.
     * (A storm distance of 0 doesn’t necessarily refer to a storm at the requested location, but rather a storm in
     * the vicinity of that location.)
     * optional, only on currently
     */
    @Getter @Setter public BigDecimal nearestStormDistance ;

    /**
     * The columnar density of total atmospheric ozone at the given time in Dobson units.
     * optional
     */
    @Getter @Setter public BigDecimal ozone ;

    /**
     * The amount of snowfall accumulation expected to occur, in inches.
     * (If no snowfall is expected, this property will not be defined.)
     * optional, only on hourly and daily
     */
    @Getter @Setter public BigDecimal precipAccumulation ;

    /**
     * The intensity (in inches of liquid water per hour) of precipitation occurring at the given time.
     * This value is conditional on probability (that is, assuming any precipitation occurs at all).
     * optional
     */
    @Getter @Setter public BigDecimal precipIntensity ;

    /**
     * The standard deviation of the distribution of precipIntensity. (We only return this property when the full
     * distribution, and not merely the expected mean, can be estimated with accuracy.)
     * optional
     */
    @Getter @Setter public BigDecimal precipIntensityError ;

    /**
     * The maximum value of precipIntensity during a given day.
     * optional, only on daily
     */
    @Getter @Setter public BigDecimal precipIntensityMax ;

    /**
     * The UNIX time of when precipIntensityMax occurs during a given day.
     * optional, only on daily
     */
    @Getter @Setter public Long precipIntensityMaxTime ;

    /**
     * The probability of precipitation occurring, between 0 and 1, inclusive.
     * optional
     */
    @Getter @Setter public BigDecimal precipProbability ;

    /**
     * The type of precipitation occurring at the given time. If defined, this property will have one of
     * the following values:
     * 
    *
  • rain,
  • *
  • snow,
  • *
  • sleet (which refers to each of freezing rain, ice pellets, and “wintery mix”).
  • *
* (If precipIntensity is zero, then this property will not be defined. Additionally, due to the lack of data in * our sources, historical precipType information is usually estimated, rather than observed.) * optional */ @JsonDeserialize(using = DsPrecipitationDeserializer.class) @Getter @Setter public DsPrecipitation precipType ; /** * The sea-level air pressure in millibars. * optional */ @Getter @Setter public BigDecimal pressure ; /** * A human-readable text summary of this data point. * (This property has millions of possible values, so don’t use it for automated purposes: use the icon property, instead!) * optional */ @Getter @Setter public String summary ; /** * The UNIX time of when the sun will rise during a given day. * optional, only on daily */ @Getter @Setter public Long sunriseTime ; /** * The UNIX time of when the sun will set during a given day. * optional, only on daily */ @Getter @Setter public Long sunsetTime ; /** * The air temperature in degrees Fahrenheit. * optional, only on hourly */ @Getter @Setter public BigDecimal temperature ; /** * The daytime high temperature. * optional, only on daily */ @Getter @Setter public BigDecimal temperatureHigh ; /** * The UNIX time representing when the daytime high temperature occurs. * optional, only on daily */ @Getter @Setter public Long temperatureHighTime ; /** * The overnight low temperature. * optional, only on daily */ @Getter @Setter public BigDecimal temperatureLow ; /** * The UNIX time representing when the overnight low temperature occurs. * optional, only on daily */ @Getter @Setter public Long temperatureLowTime ; /** * The maximum temperature during a given date. * optional, only on daily */ @Getter @Setter public BigDecimal temperatureMax ; /** * The UNIX time representing when the maximum temperature during a given date occurs. * optional, only on daily */ @Getter @Setter public Long temperatureMaxTime ; /** * The minimum temperature during a given date. * optional, only on daily */ @Getter @Setter public BigDecimal temperatureMin ; /** * The UNIX time representing when the minimum temperature during a given date occurs. * optional, only on daily */ @Getter @Setter public Long temperatureMinTime ; /** * The UNIX time at which this data point begins. minutely data point are always aligned to the top of the * minute, hourly data point objects to the top of the hour, and daily data point objects to midnight of * the day, all according to the local time zone. * required */ @Getter @Setter public Long time ; /** * The UV index. * optional */ @Getter @Setter public Long uvIndex ; /** * The UNIX time of when the maximum uvIndex occurs during a given day. * optional, only on daily */ @Getter @Setter public Long uvIndexTime ; /** * The average visibility in miles, capped at 10 miles. * optional */ @Getter @Setter public BigDecimal visibility ; /** * The direction that the wind is coming from in degrees, with true north at 0° and progressing clockwise. * (If windSpeed is zero, then this value will not be defined.) * optional */ @Getter @Setter public Long windBearing ; /** * The wind gust speed in miles per hour. * optional */ @Getter @Setter public BigDecimal windGust ; /** * The time at which the maximum wind gust speed occurs during the day. * optional, only on daily */ @Getter @Setter public Long windGustTime ; /** * The wind speed in miles per hour. * optional */ @Getter @Setter public BigDecimal windSpeed ; }




© 2015 - 2025 Weber Informatics LLC | Privacy Policy