Skip to content

Commit

Permalink
Add FluxCommand annotation
Browse files Browse the repository at this point in the history
The annotation marks classes as flux commands. The value of the
annotation specifies the name of the flux command.  The `FluxCommand`
annotation is a key feature of a new mechanism for declaring and loading
flux commands which is scheduled for integration into the next major
release of Metafacture. By introducing the annotation already in an
earlier release, module and plugin developers get a chance to prepare
their modules in time for the next major release.
  • Loading branch information
cboehme committed Apr 10, 2015
1 parent 5304308 commit eac0926
Showing 1 changed file with 43 additions and 0 deletions.
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
/*
* Copyright 2015 Christoph Böhme
*
* Licensed under the Apache License, Version 2.0 the "License";
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.culturegraph.mf.framework.annotations;

import java.lang.annotation.Documented;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;

/**
* Sets the name of the flux command which is implemented by the annotated
* class. Annotated classes must implement at least one of the interfaces
* extending {@link org.culturegraph.mf.framework.Receiver Receiver}.
*
* @author Christoph Böhme
* @since 3.1.0
*
*/
@Documented
@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.TYPE)
public @interface FluxCommand {

/**
* Returns the flux command name.
*/
String value();

}

0 comments on commit eac0926

Please sign in to comment.