package org.biomoby.service;

import java.lang.annotation.*;

/**
 * Indicates that the annotated class is a MOBY Semantic Web Service,
 * and provides the information that will populate the MOBY Central
 * registry for this service instance.  For information on how to use this
 * interface, please see <a href="http://biomoby.open-bio.org/CVS_CONTENT/moby-live/Java/docs/deployingServices.html">the MobyServlet HOW-TO</a>.
 */

@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.TYPE)
@Documented
@Inherited
public @interface mobyService {
    String name(); 
    String provider(); 
    String author();
    String[] in();
    String[] secondaryParams() default {};
    String[] out(); 
    String type();
    String[] description();
    /**
     * The URL of the Moby Central server with which the service will be registered.  If left blank or null, the default MOBY Central will be used.
     */
    String centralEndpoint() default "";
    boolean authoritative() default false;
}
