SecurityYahooFinanceAddon.java
package com.tdmconsult.ete.masterdata;
import com.tdmconsult.ete.utils.AbstractEntity;
import jakarta.persistence.Column;
import jakarta.persistence.Entity;
import jakarta.persistence.FetchType;
import jakarta.persistence.JoinColumn;
import jakarta.persistence.OneToOne;
import jakarta.persistence.Table;
import jakarta.persistence.Version;
import java.math.BigDecimal;
import java.time.LocalDate;
import java.util.UUID;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
@Entity
@Data
@Accessors(chain = true)
@Table(name = "ete_masterdata_yahoo_finance")
@EqualsAndHashCode(callSuper = true)
public class SecurityYahooFinanceAddon extends AbstractEntity {
public static SecurityYahooFinanceAddon of(final Security security) {
final var entity = new SecurityYahooFinanceAddon();
entity.setSecurity(security);
entity.setPublicId(UUID.randomUUID().toString());
return entity;
}
@Version
@Column(nullable = false)
private long version;
@OneToOne(fetch = FetchType.LAZY, optional = false)
@JoinColumn(name = "security_id", referencedColumnName = "id", nullable = false)
private Security security;
private String currencyIso;
private LocalDate nextEarningsDate;
private Boolean isEarningsDateEstimate;
private BigDecimal rate;
}