// Path: src/main/java/com/github/sbouclier/result/common/OrderDirection.java
// public enum OrderDirection {
// 
//     BUY("buy"),
//     SELL("sell");
// 
//     private String value;
// 
//     OrderDirection(String value) {
//         this.value = value;
//     }
// 
//     @JsonValue
//     public String getValue() {
//         return value;
//     }
// }
// 
// Path: src/main/java/com/github/sbouclier/result/common/OrderType.java
// public enum OrderType {
//     MARKET("market"),
//     LIMIT("limit"),
//     STOP_LOSS("stop-loss"),
//     TAKE_PROFIT("take-profit"),
//     STOP_LOSS_PROFIT("stop-loss-profit"),
//     STOP_LOSS_PROFIT_LIMIT("stop-loss-profit-limit"),
//     STOP_LOSS_LIMIT("stop-loss-limit"),
//     TAKE_PROFIT_LIMIT("take-profit-limit"),
//     TRAILING_STOP("trailing-stop"),
//     TRAILING_STOP_LIMIT("trailing-stop-limit"),
//     STOP_LOSS_AND_LIMIT("stop-loss-and-limit"),
//     SETTLE_POSITION("settle-position");
// 
//     private String value;
// 
//     OrderType(String value) {
//         this.value = value;
//     }
// 
//     @JsonValue
//     public String getValue() {
//         return value;
//     }
// }


import com.fasterxml.jackson.annotation.JsonProperty;
import com.fasterxml.jackson.annotation.JsonValue;
import com.github.sbouclier.result.common.OrderDirection;
import com.github.sbouclier.result.common.OrderType;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import java.math.BigDecimal;
import java.util.Map;
package com.github.sbouclier.result;



/**
 * Result from getOrdersInformation
 *
 * @author Stéphane Bouclier
 */
public class OrdersInformationResult extends Result<Map<String, OrdersInformationResult.OrderInfo>> {

    public static class OrderInfo {

        public enum Status {
            PENDING("pending"),
            OPEN("open"),
            CLOSED("closed"),
            CANCELED("canceled"),
            EXPIRED("expired");

            private String value;

            Status(String value) {
                this.value = value;
            }

            @JsonValue
            public String getValue() {
                return value;
            }
        }

        public static class Description {

            @JsonProperty("pair")
            public String assetPair;

            @JsonProperty("type")
// Path: src/main/java/com/github/sbouclier/result/common/OrderDirection.java
// public enum OrderDirection {
// 
//     BUY("buy"),
//     SELL("sell");
// 
//     private String value;
// 
//     OrderDirection(String value) {
//         this.value = value;
//     }
// 
//     @JsonValue
//     public String getValue() {
//         return value;
//     }
// }
// 
// Path: src/main/java/com/github/sbouclier/result/common/OrderType.java
// public enum OrderType {
//     MARKET("market"),
//     LIMIT("limit"),
//     STOP_LOSS("stop-loss"),
//     TAKE_PROFIT("take-profit"),
//     STOP_LOSS_PROFIT("stop-loss-profit"),
//     STOP_LOSS_PROFIT_LIMIT("stop-loss-profit-limit"),
//     STOP_LOSS_LIMIT("stop-loss-limit"),
//     TAKE_PROFIT_LIMIT("take-profit-limit"),
//     TRAILING_STOP("trailing-stop"),
//     TRAILING_STOP_LIMIT("trailing-stop-limit"),
//     STOP_LOSS_AND_LIMIT("stop-loss-and-limit"),
//     SETTLE_POSITION("settle-position");
// 
//     private String value;
// 
//     OrderType(String value) {
//         this.value = value;
//     }
// 
//     @JsonValue
//     public String getValue() {
//         return value;
//     }
// }


// Path: src/main/java/com/github/sbouclier/result/OrdersInformationResult.java
import com.fasterxml.jackson.annotation.JsonProperty;
import com.fasterxml.jackson.annotation.JsonValue;
import com.github.sbouclier.result.common.OrderDirection;
import com.github.sbouclier.result.common.OrderType;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import java.math.BigDecimal;
import java.util.Map;

package com.github.sbouclier.result;



/**
 * Result from getOrdersInformation
 *
 * @author Stéphane Bouclier
 */
public class OrdersInformationResult extends Result<Map<String, OrdersInformationResult.OrderInfo>> {

    public static class OrderInfo {

        public enum Status {
            PENDING("pending"),
            OPEN("open"),
            CLOSED("closed"),
            CANCELED("canceled"),
            EXPIRED("expired");

            private String value;

            Status(String value) {
                this.value = value;
            }

            @JsonValue
            public String getValue() {
                return value;
            }
        }

        public static class Description {

            @JsonProperty("pair")
            public String assetPair;

            @JsonProperty("type")
            public OrderDirection orderDirection;