package org.gcube.smartgears.extensions; import static org.gcube.common.events.impl.Utils.*; import java.util.HashMap; import java.util.HashSet; import java.util.Map; import java.util.Set; import org.gcube.smartgears.extensions.HttpExtension.Method; public class ApiSignature { private final String mapping; private Set methods = new HashSet(); private Map> requestTypes = new HashMap>(); private Map> responseTypes = new HashMap>(); public ApiSignature(String mapping) { this.mapping=mapping; } public ApiSignature with(ApiMethodSignature signature) { notNull("method signature",signature); this.methods.add(signature.method); this.requestTypes.put(signature.method,signature.requestTypes); this.responseTypes.put(signature.method,signature.responseTypes); return this; } public String mapping() { return mapping; } public Set methods() { return methods; } public Map> requestTypes() { return requestTypes; } public Map> responseTypes() { return responseTypes; } }