Updated Branches: refs/heads/trunk 43734acca -> c4351ac44
javadoc on CoAP registry classes Project: http://git-wip-us.apache.org/repos/asf/mina/repo Commit: http://git-wip-us.apache.org/repos/asf/mina/commit/db9d78e8 Tree: http://git-wip-us.apache.org/repos/asf/mina/tree/db9d78e8 Diff: http://git-wip-us.apache.org/repos/asf/mina/diff/db9d78e8 Branch: refs/heads/trunk Commit: db9d78e84ded9163dd72a41fa8191309ebd9ea2a Parents: 43734ac Author: jvermillard <[email protected]> Authored: Mon May 27 13:19:42 2013 +0200 Committer: jvermillard <[email protected]> Committed: Mon May 27 13:19:42 2013 +0200 ---------------------------------------------------------------------- .../coap/resource/AbstractResourceHandler.java | 2 +- .../apache/mina/coap/resource/CoapResponse.java | 8 +++++ .../apache/mina/coap/resource/ResourceHandler.java | 24 +++++++++++++++ .../mina/coap/resource/ResourceRegistry.java | 18 +++++++++++ 4 files changed, 51 insertions(+), 1 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/mina/blob/db9d78e8/coap/src/main/java/org/apache/mina/coap/resource/AbstractResourceHandler.java ---------------------------------------------------------------------- diff --git a/coap/src/main/java/org/apache/mina/coap/resource/AbstractResourceHandler.java b/coap/src/main/java/org/apache/mina/coap/resource/AbstractResourceHandler.java index 4885a99..db084f6 100644 --- a/coap/src/main/java/org/apache/mina/coap/resource/AbstractResourceHandler.java +++ b/coap/src/main/java/org/apache/mina/coap/resource/AbstractResourceHandler.java @@ -20,6 +20,7 @@ package org.apache.mina.coap.resource; /** + * A base implementation for {@link ResourceHandler} when you don't want to return all the resources meta-data. * * @author <a href="http://mina.apache.org">Apache MINA Project</a> */ @@ -46,7 +47,6 @@ public abstract class AbstractResourceHandler implements ResourceHandler { */ @Override public String getTittle() { - // TODO Auto-generated method stub return null; } http://git-wip-us.apache.org/repos/asf/mina/blob/db9d78e8/coap/src/main/java/org/apache/mina/coap/resource/CoapResponse.java ---------------------------------------------------------------------- diff --git a/coap/src/main/java/org/apache/mina/coap/resource/CoapResponse.java b/coap/src/main/java/org/apache/mina/coap/resource/CoapResponse.java index c788837..b9bb658 100644 --- a/coap/src/main/java/org/apache/mina/coap/resource/CoapResponse.java +++ b/coap/src/main/java/org/apache/mina/coap/resource/CoapResponse.java @@ -21,6 +21,7 @@ package org.apache.mina.coap.resource; import java.util.Arrays; +import org.apache.mina.coap.CoapCode; import org.apache.mina.coap.CoapOption; /** @@ -35,6 +36,13 @@ public class CoapResponse { public CoapOption[] options; + /** + * Create the CoAP response for a resource request. + * + * @param code the return code for this request see : {@link CoapCode} + * @param content the content for this resource request + * @param options the opetion to send (content-type, cacheability etc..) + */ public CoapResponse(int code, byte[] content, CoapOption... options) { super(); this.code = code; http://git-wip-us.apache.org/repos/asf/mina/blob/db9d78e8/coap/src/main/java/org/apache/mina/coap/resource/ResourceHandler.java ---------------------------------------------------------------------- diff --git a/coap/src/main/java/org/apache/mina/coap/resource/ResourceHandler.java b/coap/src/main/java/org/apache/mina/coap/resource/ResourceHandler.java index fa9aa32..a79f227 100644 --- a/coap/src/main/java/org/apache/mina/coap/resource/ResourceHandler.java +++ b/coap/src/main/java/org/apache/mina/coap/resource/ResourceHandler.java @@ -21,15 +21,39 @@ package org.apache.mina.coap.resource; import org.apache.mina.coap.CoapMessage; +/** + * A resource handler for a given path. + * + * @author <a href="http://mina.apache.org">Apache MINA Project</a> + */ public interface ResourceHandler { + /** + * The path served by this resource handler. + */ public String getPath(); + /** + * Detailed title for this path (or <code>null</code>). See http://datatracker.ietf.org/doc/rfc6690/ + */ public String getTittle(); + /** + * Interface name of this resource (or <code>null</code>), can be an URL to a WADL file. See + * http://datatracker.ietf.org/doc/rfc6690/ + */ public String getInterface(); + /** + * Resource type (or <code>null</code>). See http://datatracker.ietf.org/doc/rfc6690/ + */ public String getResourceType(); + /** + * Generate the response for this request. + * + * @param request the request to serve + * @return the response + */ public CoapResponse handle(CoapMessage request); } http://git-wip-us.apache.org/repos/asf/mina/blob/db9d78e8/coap/src/main/java/org/apache/mina/coap/resource/ResourceRegistry.java ---------------------------------------------------------------------- diff --git a/coap/src/main/java/org/apache/mina/coap/resource/ResourceRegistry.java b/coap/src/main/java/org/apache/mina/coap/resource/ResourceRegistry.java index 164691f..81ee4bb 100644 --- a/coap/src/main/java/org/apache/mina/coap/resource/ResourceRegistry.java +++ b/coap/src/main/java/org/apache/mina/coap/resource/ResourceRegistry.java @@ -31,16 +31,34 @@ import org.apache.mina.coap.MessageType; import org.slf4j.Logger; import org.slf4j.LoggerFactory; +/** + * The resource registry for the different {@link ResourceHandler}. + * + * + * @author <a href="http://mina.apache.org">Apache MINA Project</a> + */ public class ResourceRegistry { private static final Logger LOG = LoggerFactory.getLogger(ResourceRegistry.class); private Map<String, ResourceHandler> handlers = new HashMap<String, ResourceHandler>(); + /** + * Register a new resource handler. + * + * @param handler the halder to register. + */ public void register(ResourceHandler handler) { handlers.put(handler.getPath(), handler); } + /** + * Response to a request : delegate it to the correct handler for the requested path. If not found generate 4.04 + * CoAP errors. if .well-know/core requested : generate a discover page. + * + * @param request the request ot serve + * @return the response + */ public CoapMessage respond(CoapMessage request) { // find the URI StringBuilder urlBuilder = new StringBuilder("");
