// Path: multiple-microservices-example/trade-service/src/main/java/org/sapient/metalica/tradeservice/constant/TradeSide.java
// public enum TradeSide {
//     BUY, SELL
// }
// 
// Path: multiple-microservices-example/trade-service/src/main/java/org/sapient/metalica/tradeservice/dto/RefDataDTO.java
// public class RefDataDTO {
// 
//     private String code;
//     private String name;
// 
//     public RefDataDTO() {
//     }
// 
//     public RefDataDTO(String code, String name) {
//         this.code = code;
//         this.name = name;
//     }
// 
//     public String getCode() {
//         return code;
//     }
// 
//     public void setCode(String code) {
//         this.code = code;
//     }
// 
//     public String getName() {
//         return name;
//     }
// 
//     public void setName(String name) {
//         this.name = name;
//     }
// 
//     @Override
//     public boolean equals(Object o) {
//         if (this == o) return true;
//         if (o == null || getClass() != o.getClass()) return false;
// 
//         RefDataDTO that = (RefDataDTO) o;
// 
//         if (code != null ? !code.equals(that.code) : that.code != null) return false;
//         return name != null ? name.equals(that.name) : that.name == null;
//     }
// 
//     @Override
//     public int hashCode() {
//         int result = code != null ? code.hashCode() : 0;
//         result = 31 * result + (name != null ? name.hashCode() : 0);
//         return result;
//     }
// 
// }


import org.sapient.metalica.tradeservice.constant.TradeSide;
import org.sapient.metalica.tradeservice.dto.RefDataDTO;
import org.springframework.data.annotation.Id;
import org.springframework.data.mongodb.core.mapping.Document;
import org.springframework.data.mongodb.core.mapping.Field;
import java.util.Date;
package org.sapient.metalica.tradeservice.model;



@Document
public class Trade {

    @Id private String id;
    @Field private Date date;
    @Field private double price;
    @Field private long quantity;
    @Field private TradeSide side;
// Path: multiple-microservices-example/trade-service/src/main/java/org/sapient/metalica/tradeservice/constant/TradeSide.java
// public enum TradeSide {
//     BUY, SELL
// }
// 
// Path: multiple-microservices-example/trade-service/src/main/java/org/sapient/metalica/tradeservice/dto/RefDataDTO.java
// public class RefDataDTO {
// 
//     private String code;
//     private String name;
// 
//     public RefDataDTO() {
//     }
// 
//     public RefDataDTO(String code, String name) {
//         this.code = code;
//         this.name = name;
//     }
// 
//     public String getCode() {
//         return code;
//     }
// 
//     public void setCode(String code) {
//         this.code = code;
//     }
// 
//     public String getName() {
//         return name;
//     }
// 
//     public void setName(String name) {
//         this.name = name;
//     }
// 
//     @Override
//     public boolean equals(Object o) {
//         if (this == o) return true;
//         if (o == null || getClass() != o.getClass()) return false;
// 
//         RefDataDTO that = (RefDataDTO) o;
// 
//         if (code != null ? !code.equals(that.code) : that.code != null) return false;
//         return name != null ? name.equals(that.name) : that.name == null;
//     }
// 
//     @Override
//     public int hashCode() {
//         int result = code != null ? code.hashCode() : 0;
//         result = 31 * result + (name != null ? name.hashCode() : 0);
//         return result;
//     }
// 
// }


// Path: multiple-microservices-example/trade-service/src/main/java/org/sapient/metalica/tradeservice/model/Trade.java
import org.sapient.metalica.tradeservice.constant.TradeSide;
import org.sapient.metalica.tradeservice.dto.RefDataDTO;
import org.springframework.data.annotation.Id;
import org.springframework.data.mongodb.core.mapping.Document;
import org.springframework.data.mongodb.core.mapping.Field;
import java.util.Date;

package org.sapient.metalica.tradeservice.model;



@Document
public class Trade {

    @Id private String id;
    @Field private Date date;
    @Field private double price;
    @Field private long quantity;
    @Field private TradeSide side;
    @Field private RefDataDTO commodity;