You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@flume.apache.org by es...@apache.org on 2011/08/25 20:49:51 UTC

svn commit: r1161687 - in /incubator/flume/branches/flume-728/flume-ng-core/src/main/java/org/apache/flume/conf: ./ Configurable.java Configurables.java

Author: esammer
Date: Thu Aug 25 18:49:51 2011
New Revision: 1161687

URL: http://svn.apache.org/viewvc?rev=1161687&view=rev
Log:
- Created a Configurable interface and Configurables utils for working with instances of the former.

Added:
    incubator/flume/branches/flume-728/flume-ng-core/src/main/java/org/apache/flume/conf/
    incubator/flume/branches/flume-728/flume-ng-core/src/main/java/org/apache/flume/conf/Configurable.java
    incubator/flume/branches/flume-728/flume-ng-core/src/main/java/org/apache/flume/conf/Configurables.java

Added: incubator/flume/branches/flume-728/flume-ng-core/src/main/java/org/apache/flume/conf/Configurable.java
URL: http://svn.apache.org/viewvc/incubator/flume/branches/flume-728/flume-ng-core/src/main/java/org/apache/flume/conf/Configurable.java?rev=1161687&view=auto
==============================================================================
--- incubator/flume/branches/flume-728/flume-ng-core/src/main/java/org/apache/flume/conf/Configurable.java (added)
+++ incubator/flume/branches/flume-728/flume-ng-core/src/main/java/org/apache/flume/conf/Configurable.java Thu Aug 25 18:49:51 2011
@@ -0,0 +1,9 @@
+package org.apache.flume.conf;
+
+import org.apache.flume.Context;
+
+public interface Configurable {
+
+  public void configure(Context context);
+
+}

Added: incubator/flume/branches/flume-728/flume-ng-core/src/main/java/org/apache/flume/conf/Configurables.java
URL: http://svn.apache.org/viewvc/incubator/flume/branches/flume-728/flume-ng-core/src/main/java/org/apache/flume/conf/Configurables.java?rev=1161687&view=auto
==============================================================================
--- incubator/flume/branches/flume-728/flume-ng-core/src/main/java/org/apache/flume/conf/Configurables.java (added)
+++ incubator/flume/branches/flume-728/flume-ng-core/src/main/java/org/apache/flume/conf/Configurables.java Thu Aug 25 18:49:51 2011
@@ -0,0 +1,29 @@
+package org.apache.flume.conf;
+
+import org.apache.flume.Context;
+
+/**
+ * Methods for working with {@link Configurable}s.
+ */
+public class Configurables {
+
+  /**
+   * Check that {@code target} implements {@link Configurable} and, if so, ask
+   * it to configure itself using the supplied {@code context}.
+   * 
+   * @param target
+   *          An object that potentially implements Configurable.
+   * @param context
+   *          The configuration context
+   * @return true if {@code target} implements Configurable, false otherwise.
+   */
+  public static boolean configure(Object target, Context context) {
+    if (target instanceof Configurable) {
+      ((Configurable) target).configure(context);
+      return true;
+    }
+
+    return false;
+  }
+
+}