package org.finra.datagenerator.scaffolding.transformer; import com.fasterxml.jackson.annotation.JsonFormat; import org.finra.datagenerator.scaffolding.transformer.function.impl.DateTimeSequential; import org.finra.datagenerator.scaffolding.transformer.function.impl.LongSequential; import org.finra.datagenerator.scaffolding.transformer.support.FunctionTransformation; import org.finra.datagenerator.scaffolding.transformer.support.Order; import org.finra.datagenerator.scaffolding.transformer.support.Transformation; import java.time.LocalDateTime; /** * Created by dkopel on 9/27/16. */ public class SmallClass { @Order(4) @Transformation("#big.id+'SPICY'+#big.num") private String fruit; @Order(0) @Transformation("#great.time+100") private Long tomorrow; @Order(1) @Transformation(condition = "tomorrow > 200", value="{'SUNNY', 'HOT'}", order=0) @Transformation(condition = "tomorrow < 150 && tomorrow > 50", value="{'COLD', 'RAIN'}", order=1) @Transformation(value="{'CLOUDY'}", order=2) private Weather[] weather; @Order(2) @Transformation(value="'HAPPY'", condition="#great.time < 1000000 && (#great.time > 100 || #great.amt > 100.00)", order=0) @Transformation(value="'SAD'", condition="#great.time < 50 && #great.amt < 50.00", order=1) @Transformation(value="'NONE'", order=2) private Mood mood; @Order(3) @Transformation(value="false", condition="#asList(weather).contains('RAIN') || mood == Mood.SAD", order=0) @Transformation(value="true", order=1) private Boolean goOnTrip; @Transformation(isNull = true) private String thisWillBeNull; @Transformation(emptyString = true, condition = "#iteration % 2 == 0") private String thisWillBeEmpty; private Integer id; @Transformation(function=@FunctionTransformation(key="seq", clazz=LongSequential.class)) private Long seqSimple; @Transformation(function=@FunctionTransformation(key="seq1", clazz=LongSequential.class)) private Long seq; @Transformation(function=@FunctionTransformation(key="date1", clazz=DateTimeSequential.class)) private LocalDateTime dateSeq; private String justForOverride; @Transformation(value = "'green'", condition = "#globals['name'] == 'dmytro'") @Transformation(value = "'blue'", condition = "#globals['name'] == 'dovid'") private String heyThere; @Transformation(value="") private String emptyValue; public String getFruit() { return fruit; } public Integer getId() { return id; } public Mood getMood() { return mood; } public Long getTomorrow() { return tomorrow; } public Weather[] getWeather() { return weather; } public Boolean getGoOnTrip() { return goOnTrip; } public String getThisWillBeNull() { return thisWillBeNull; } public Long getSeq() { return seq; } public String getJustForOverride() { return justForOverride; } public String getThisWillBeEmpty() { return thisWillBeEmpty; } @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "dd/MM/yyyy") public LocalDateTime getDateSeq() { return dateSeq; } public Long getSeqSimple() { return seqSimple; } public String getHeyThere() { return heyThere; } public String getEmptyValue() { return emptyValue; } }