CAMEL-8023: Model and component javadoc documentation

Project: http://git-wip-us.apache.org/repos/asf/camel/repo
Commit: http://git-wip-us.apache.org/repos/asf/camel/commit/35cc8902
Tree: http://git-wip-us.apache.org/repos/asf/camel/tree/35cc8902
Diff: http://git-wip-us.apache.org/repos/asf/camel/diff/35cc8902

Branch: refs/heads/master
Commit: 35cc8902bf434229bb7a83716afa9294ba197076
Parents: a28d0e4
Author: Claus Ibsen <davscl...@apache.org>
Authored: Sat Feb 7 10:59:20 2015 +0100
Committer: Claus Ibsen <davscl...@apache.org>
Committed: Sat Feb 7 11:08:47 2015 +0100

----------------------------------------------------------------------
 .../camel/component/direct/DirectComponent.java    |  9 +++++++++
 .../camel/component/direct/DirectEndpoint.java     | 17 -----------------
 .../component/directvm/DirectVmComponent.java      |  9 +++++++++
 .../camel/component/directvm/DirectVmEndpoint.java |  7 +++++++
 .../camel/component/language/LanguageEndpoint.java |  3 +--
 .../apache/camel/component/log/LogEndpoint.java    | 11 +++++------
 .../camel/component/timer/TimerEndpoint.java       | 13 +++++++++++--
 .../tools/apt/EndpointAnnotationProcessor.java     |  6 ++++--
 8 files changed, 46 insertions(+), 29 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/camel/blob/35cc8902/camel-core/src/main/java/org/apache/camel/component/direct/DirectComponent.java
----------------------------------------------------------------------
diff --git 
a/camel-core/src/main/java/org/apache/camel/component/direct/DirectComponent.java
 
b/camel-core/src/main/java/org/apache/camel/component/direct/DirectComponent.java
index b3253a5..0a7aae5 100644
--- 
a/camel-core/src/main/java/org/apache/camel/component/direct/DirectComponent.java
+++ 
b/camel-core/src/main/java/org/apache/camel/component/direct/DirectComponent.java
@@ -21,6 +21,7 @@ import java.util.Map;
 
 import org.apache.camel.Endpoint;
 import org.apache.camel.impl.UriEndpointComponent;
+import org.apache.camel.spi.Metadata;
 import org.apache.camel.util.ServiceHelper;
 
 /**
@@ -36,6 +37,7 @@ public class DirectComponent extends UriEndpointComponent {
     // on DefaultCamelContext
     private final Map<String, DirectConsumer> consumers = new HashMap<String, 
DirectConsumer>();
     private boolean block;
+    @Metadata(defaultValue = "30000")
     private long timeout = 30000L;
 
     public DirectComponent() {
@@ -61,6 +63,10 @@ public class DirectComponent extends UriEndpointComponent {
         return block;
     }
 
+    /**
+     * If sending a message to a direct endpoint which has no active consumer,
+     * then we can tell the producer to block and wait for the consumer to 
become active.
+     */
     public void setBlock(boolean block) {
         this.block = block;
     }
@@ -69,6 +75,9 @@ public class DirectComponent extends UriEndpointComponent {
         return timeout;
     }
 
+    /**
+     * The timeout value to use if block is enabled.
+     */
     public void setTimeout(long timeout) {
         this.timeout = timeout;
     }

http://git-wip-us.apache.org/repos/asf/camel/blob/35cc8902/camel-core/src/main/java/org/apache/camel/component/direct/DirectEndpoint.java
----------------------------------------------------------------------
diff --git 
a/camel-core/src/main/java/org/apache/camel/component/direct/DirectEndpoint.java
 
b/camel-core/src/main/java/org/apache/camel/component/direct/DirectEndpoint.java
index c8f9934..3661cbb 100644
--- 
a/camel-core/src/main/java/org/apache/camel/component/direct/DirectEndpoint.java
+++ 
b/camel-core/src/main/java/org/apache/camel/component/direct/DirectEndpoint.java
@@ -98,12 +98,6 @@ public class DirectEndpoint extends DefaultEndpoint {
         return consumers.get(key);
     }
 
-    /**
-     * If sending a message to a direct endpoint which has no active consumer,
-     * then we can tell the producer to block and wait for the consumer to 
become active.
-     * <p/>
-     * Is by default <tt>false</tt>.
-     */
     public boolean isBlock() {
         return block;
     }
@@ -111,28 +105,17 @@ public class DirectEndpoint extends DefaultEndpoint {
     /**
      * If sending a message to a direct endpoint which has no active consumer,
      * then we can tell the producer to block and wait for the consumer to 
become active.
-     * <p/>
-     * Is by default <tt>false</tt>.
-     *
-     * @param block whether to block
      */
     public void setBlock(boolean block) {
         this.block = block;
     }
 
-    /**
-     * The timeout value to use if block is enabled.
-     * <p/>
-     * Is by default <tt>30000</tt>.
-     */
     public long getTimeout() {
         return timeout;
     }
 
     /**
      * The timeout value to use if block is enabled.
-     * <p/>
-     * Is by default <tt>30000</tt>.
      *
      * @param timeout the timeout value
      */

http://git-wip-us.apache.org/repos/asf/camel/blob/35cc8902/camel-core/src/main/java/org/apache/camel/component/directvm/DirectVmComponent.java
----------------------------------------------------------------------
diff --git 
a/camel-core/src/main/java/org/apache/camel/component/directvm/DirectVmComponent.java
 
b/camel-core/src/main/java/org/apache/camel/component/directvm/DirectVmComponent.java
index 6765fa6..3e48c7c 100644
--- 
a/camel-core/src/main/java/org/apache/camel/component/directvm/DirectVmComponent.java
+++ 
b/camel-core/src/main/java/org/apache/camel/component/directvm/DirectVmComponent.java
@@ -25,6 +25,7 @@ import java.util.concurrent.atomic.AtomicInteger;
 
 import org.apache.camel.Endpoint;
 import org.apache.camel.impl.UriEndpointComponent;
+import org.apache.camel.spi.Metadata;
 
 /**
  * The <a href="http://camel.apache.org/direct-vm.html";>Direct VM 
Component</a> manages {@link DirectVmEndpoint} and holds the list of named 
direct-vm endpoints.
@@ -38,6 +39,7 @@ public class DirectVmComponent extends UriEndpointComponent {
     // on DefaultCamelContext
     private static final ConcurrentMap<String, DirectVmConsumer> CONSUMERS = 
new ConcurrentHashMap<String, DirectVmConsumer>();
     private boolean block;
+    @Metadata(defaultValue = "30000")
     private long timeout = 30000L;
 
     public DirectVmComponent() {
@@ -112,6 +114,10 @@ public class DirectVmComponent extends 
UriEndpointComponent {
         return block;
     }
 
+    /**
+     * If sending a message to a direct endpoint which has no active consumer,
+     * then we can tell the producer to block and wait for the consumer to 
become active.
+     */
     public void setBlock(boolean block) {
         this.block = block;
     }
@@ -120,6 +126,9 @@ public class DirectVmComponent extends UriEndpointComponent 
{
         return timeout;
     }
 
+    /**
+     * The timeout value to use if block is enabled.
+     */
     public void setTimeout(long timeout) {
         this.timeout = timeout;
     }

http://git-wip-us.apache.org/repos/asf/camel/blob/35cc8902/camel-core/src/main/java/org/apache/camel/component/directvm/DirectVmEndpoint.java
----------------------------------------------------------------------
diff --git 
a/camel-core/src/main/java/org/apache/camel/component/directvm/DirectVmEndpoint.java
 
b/camel-core/src/main/java/org/apache/camel/component/directvm/DirectVmEndpoint.java
index 17fec96..831ce6c 100644
--- 
a/camel-core/src/main/java/org/apache/camel/component/directvm/DirectVmEndpoint.java
+++ 
b/camel-core/src/main/java/org/apache/camel/component/directvm/DirectVmEndpoint.java
@@ -76,6 +76,10 @@ public class DirectVmEndpoint extends DefaultEndpoint {
         return block;
     }
 
+    /**
+     * If sending a message to a direct endpoint which has no active consumer,
+     * then we can tell the producer to block and wait for the consumer to 
become active.
+     */
     public void setBlock(boolean block) {
         this.block = block;
     }
@@ -84,6 +88,9 @@ public class DirectVmEndpoint extends DefaultEndpoint {
         return timeout;
     }
 
+    /**
+     * The timeout value to use if block is enabled.
+     */
     public void setTimeout(long timeout) {
         this.timeout = timeout;
     }

http://git-wip-us.apache.org/repos/asf/camel/blob/35cc8902/camel-core/src/main/java/org/apache/camel/component/language/LanguageEndpoint.java
----------------------------------------------------------------------
diff --git 
a/camel-core/src/main/java/org/apache/camel/component/language/LanguageEndpoint.java
 
b/camel-core/src/main/java/org/apache/camel/component/language/LanguageEndpoint.java
index 98bf443..ce24f92 100644
--- 
a/camel-core/src/main/java/org/apache/camel/component/language/LanguageEndpoint.java
+++ 
b/camel-core/src/main/java/org/apache/camel/component/language/LanguageEndpoint.java
@@ -45,6 +45,7 @@ import org.apache.camel.util.ResourceHelper;
 public class LanguageEndpoint extends ResourceEndpoint {
     private Language language;
     private Expression expression;
+    private boolean contentResolvedFromResource;
     @UriPath
     private String languageName;
     @UriParam
@@ -54,8 +55,6 @@ public class LanguageEndpoint extends ResourceEndpoint {
     @UriParam(defaultValue = "false")
     private boolean binary;
     @UriParam(defaultValue = "false")
-    private boolean contentResolvedFromResource;
-    @UriParam(defaultValue = "false")
     private boolean cacheScript;
 
     public LanguageEndpoint() {

http://git-wip-us.apache.org/repos/asf/camel/blob/35cc8902/camel-core/src/main/java/org/apache/camel/component/log/LogEndpoint.java
----------------------------------------------------------------------
diff --git 
a/camel-core/src/main/java/org/apache/camel/component/log/LogEndpoint.java 
b/camel-core/src/main/java/org/apache/camel/component/log/LogEndpoint.java
index 9ecffe8..b7d5ace 100644
--- a/camel-core/src/main/java/org/apache/camel/component/log/LogEndpoint.java
+++ b/camel-core/src/main/java/org/apache/camel/component/log/LogEndpoint.java
@@ -38,9 +38,11 @@ import org.slf4j.Logger;
 public class LogEndpoint extends ProcessorEndpoint {
 
     private volatile Processor logger;
+    private Logger providedLogger;
+    private ExchangeFormatter localFormatter;
     @UriPath(description = "Name of the logging category to use")
     private String loggerName;
-    @UriParam(defaultValue = "INFO")
+    @UriParam(defaultValue = "INFO", enums = "ERROR,WARN,INFO,DEBUG,TRACE,OFF")
     private String level;
     @UriParam
     private String marker;
@@ -52,9 +54,6 @@ public class LogEndpoint extends ProcessorEndpoint {
     private Boolean groupActiveOnly;
     @UriParam
     private Long groupDelay;
-    @UriParam
-    private Logger providedLogger;
-    private ExchangeFormatter localFormatter;
 
     public LogEndpoint() {
     }
@@ -124,7 +123,7 @@ public class LogEndpoint extends ProcessorEndpoint {
     }
 
     /**
-     * Logging level to use. Possible values: ERROR, WARN, INFO, DEBUG, TRACE, 
OFF.
+     * Logging level to use.
      * <p/>
      * The default value is INFO.
      */
@@ -133,7 +132,7 @@ public class LogEndpoint extends ProcessorEndpoint {
     }
 
     /**
-     * Logging level to use. Possible values: ERROR, WARN, INFO, DEBUG, TRACE, 
OFF.
+     * Logging level to use.
      * <p/>
      * The default value is INFO.
      */

http://git-wip-us.apache.org/repos/asf/camel/blob/35cc8902/camel-core/src/main/java/org/apache/camel/component/timer/TimerEndpoint.java
----------------------------------------------------------------------
diff --git 
a/camel-core/src/main/java/org/apache/camel/component/timer/TimerEndpoint.java 
b/camel-core/src/main/java/org/apache/camel/component/timer/TimerEndpoint.java
index f46b22b..cb107ca 100644
--- 
a/camel-core/src/main/java/org/apache/camel/component/timer/TimerEndpoint.java
+++ 
b/camel-core/src/main/java/org/apache/camel/component/timer/TimerEndpoint.java
@@ -52,10 +52,10 @@ public class TimerEndpoint extends DefaultEndpoint 
implements MultipleConsumersS
     private boolean fixedRate;
     @UriParam(defaultValue = "true")
     private boolean daemon = true;
-    @UriParam
-    private Timer timer;
     @UriParam(defaultValue = "0")
     private long repeatCount;
+    @UriParam
+    private Timer timer;
 
     public TimerEndpoint() {
     }
@@ -180,6 +180,12 @@ public class TimerEndpoint extends DefaultEndpoint 
implements MultipleConsumersS
         return repeatCount;
     }
 
+    /**
+     * Specifies a maximum limit of number of fires.
+     * So if you set it to 1, the timer will only fire once.
+     * If you set it to 5, it will only fire five times.
+     * A value of zero or negative means fire forever.
+     */
     @ManagedAttribute(description = "Repeat Count")
     public void setRepeatCount(long repeatCount) {
         this.repeatCount = repeatCount;
@@ -229,6 +235,9 @@ public class TimerEndpoint extends DefaultEndpoint 
implements MultipleConsumersS
         return getComponent().getTimer(consumer);
     }
 
+    /**
+     * To use a custom {@link Timer}
+     */
     public void setTimer(Timer timer) {
         this.timer = timer;
     }

http://git-wip-us.apache.org/repos/asf/camel/blob/35cc8902/tooling/apt/src/main/java/org/apache/camel/tools/apt/EndpointAnnotationProcessor.java
----------------------------------------------------------------------
diff --git 
a/tooling/apt/src/main/java/org/apache/camel/tools/apt/EndpointAnnotationProcessor.java
 
b/tooling/apt/src/main/java/org/apache/camel/tools/apt/EndpointAnnotationProcessor.java
index e409cd2..d580929 100644
--- 
a/tooling/apt/src/main/java/org/apache/camel/tools/apt/EndpointAnnotationProcessor.java
+++ 
b/tooling/apt/src/main/java/org/apache/camel/tools/apt/EndpointAnnotationProcessor.java
@@ -36,6 +36,7 @@ import javax.lang.model.type.TypeMirror;
 import javax.lang.model.util.ElementFilter;
 import javax.lang.model.util.Elements;
 
+import org.apache.camel.spi.Metadata;
 import org.apache.camel.spi.UriEndpoint;
 import org.apache.camel.spi.UriParam;
 import org.apache.camel.spi.UriParams;
@@ -354,6 +355,7 @@ public class EndpointAnnotationProcessor extends 
AbstractAnnotationProcessor {
             for (VariableElement fieldElement : fieldElements) {
                 String fieldName = fieldElement.getSimpleName().toString();
                 boolean deprecated = 
fieldElement.getAnnotation(Deprecated.class) != null;
+                Metadata metadata = fieldElement.getAnnotation(Metadata.class);
 
                 // skip unwanted fields as they are inherited from default 
component and are not intended for end users to configure
                 if ("endpointClass".equals(fieldName) || 
"camelContext".equals(fieldName)) {
@@ -370,10 +372,10 @@ public class EndpointAnnotationProcessor extends 
AbstractAnnotationProcessor {
                     String fieldTypeName = fieldType.toString();
                     TypeElement fieldTypeElement = findTypeElement(roundEnv, 
fieldTypeName);
 
+
                     // we do not yet have default values / notes / as no 
annotation support yet
-                    // String defaultValue = param.defaultValue();
                     // String defaultValueNote = param.defaultValueNote();
-                    String defaultValue = null;
+                    String defaultValue = metadata != null ? 
metadata.defaultValue() : null;
                     String defaultValueNote = null;
 
                     String docComment = findJavaDoc(elementUtils, 
fieldElement, fieldName, name, classElement, false);

Reply via email to