/* --------------------------------------------------------- *
* __________ D E L T A S C R I P T *
* (_________() *
* / === / - A fast, dynamic scripting language *
* | == | - Version 4.13.11.0 *
* / === / - Developed by Adam R. Nelson *
* | = = | - 2011-2013 *
* / === / - Distributed under GNU LGPL v3 *
* (________() - http://github.com/ar-nelson/deltascript *
* *
* --------------------------------------------------------- */
package com.sector91.delta.script.annotations;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
import com.sector91.delta.script.module.ModuleLoader;
/**
* <p>Lists the platforms that a module supports. This annotation must be used
* with the {@link DSModule} annotation; it is meaningless otherwise!</p>
*
* <p>A module is considered supported if any one of the platform names
* listed in this annotation is contained in the set of platform tags returned
* by {@link ModuleLoader#getPlatformTags()} for the current platform's
* {@link ModuleLoader}. To require multiple platform tags to be present at
* once, join them with a "+". So, for example, {@code "windows"} would
* indicate that this module is supported on any Windows machine, while {@code
* "windows+applet"} would indicate that this module is only supported in the
* context of a Java applet running on a Windows machine.</p>
*
* @author Adam R. Nelson
* @version 4.13.11.0
* @since 3.12.2.0
*/
@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.TYPE)
public @interface DSModulePlatforms {String value();}