
imagingbook.core.plugin.IjPluginPath Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of imagingbook-core Show documentation
Show all versions of imagingbook-core Show documentation
Small core library with minimal dependencies.
This code is part of the imagingbook software suite accompanying the
image processing textbooks by W. Burger and M.J. Burge (Springer 2006-2022).
The newest version!
/*******************************************************************************
* This software is provided as a supplement to the authors' textbooks on digital
* image processing published by Springer-Verlag in various languages and editions.
* Permission to use and distribute this software is granted under the BSD 2-Clause
* "Simplified" License (see http://opensource.org/licenses/BSD-2-Clause).
* Copyright (c) 2006-2023 Wilhelm Burger, Mark J. Burge. All rights reserved.
* Visit https://imagingbook.com for additional details.
******************************************************************************/
package imagingbook.core.plugin;
import java.lang.annotation.Retention;
import java.lang.annotation.Target;
import static java.lang.annotation.ElementType.PACKAGE;
import static java.lang.annotation.ElementType.TYPE;
import static java.lang.annotation.RetentionPolicy.RUNTIME;
/**
* Annotation to specify the menu path (tree branch) of the associated plugin class or an entire plugin package. Takes a
* {@link String} argument e.g.,
*
* {@literal @}IjMenuPath("Plugins>My Stuff")
* {@literal @}IjMenuEntry("My Plugin")
* public class My_Plugin implements PlugInFilter {
* ...
* }
* May also be used on the {@code package} declaration in file {@code package-info.java} to set the default menu path
* for all plugins directly contained in that package (but not nested), e.g.,
*
* {@literal @}IjMenuPath("Plugins>Binary Regions")
* package Binary_Regions;
* Annotations for individual plugin classes override the package-level setting.
*/
@Retention(RUNTIME)
@Target({ TYPE, PACKAGE })
public @interface IjPluginPath {
public String value();
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy