/* * Copyright (c) 2015 Yale University and others. All rights reserved. * * This program and the accompanying materials are made available under the * terms of the Eclipse Public License v1.0 which accompanies this distribution, * and is available at http://www.eclipse.org/legal/epl-v10.html */ package org.opendaylight.alto.core.northbound.api.utils.rfc7285; import java.util.List; import java.util.Map; import java.util.LinkedHashMap; import com.fasterxml.jackson.annotation.JsonInclude; import com.fasterxml.jackson.annotation.JsonProperty; @JsonInclude(JsonInclude.Include.NON_EMPTY) public class RFC7285IRD { @JsonInclude(JsonInclude.Include.NON_EMPTY) public class Meta { @JsonProperty("default-alto-network-map") public String defaultAltoNetworkMap; @JsonProperty("cost-types") public Map<String, RFC7285CostType> costTypes = new LinkedHashMap<String, RFC7285CostType>(); } @JsonInclude(JsonInclude.Include.NON_EMPTY) public class Capability { @JsonProperty("cost-constraints") public Boolean costConstraints; @JsonProperty("cost-type-names") public List<String> costTypeNames; @JsonProperty("prop-types") public List<String> propTypes; } @JsonInclude(JsonInclude.Include.NON_EMPTY) public class Entry { @JsonProperty("uri") public String uri; @JsonProperty("media-type") public String mediaType; @JsonProperty("accepts") public String accepts; @JsonProperty("capabilities") public Capability capabilities; @JsonProperty("uses") public List<String> uses; } @JsonProperty("meta") public Meta meta = new Meta(); @JsonProperty("resources") public Map<String, Entry> resources = new LinkedHashMap<String, Entry>(); }