com.katalon.platform.api.extension.ToolItemDescription Maven / Gradle / Ivy
package com.katalon.platform.api.extension;
/**
* ToolItemDescription is the interface of com.katalon.platform.api.extension.newToolItem
* extension point that allows client plugins can put a tool item on KS main toolbar.
*
* Register in the plugin.xml
like this:
*
*
* {@code
*
*
*
* }
*
*
* The implementationClass is the full qualified name of the class that implements ToolItemDescription.
*
* @since 1.0.4
*
*/
public interface ToolItemDescription {
String NEW_TOOLITEM_EXTENSION_POINT_ID = "com.katalon.platform.api.extension.newToolItem";
/**
* @return unique id of the tool item
* @since 1.0.4
*/
String toolItemId();
/**
* @return name of the tool item
* @since 1.0.4
*/
String name();
/**
* The platform URI point to the icon with this format:
* {@code platform:///}.
*
* For example: {@code platform://com.example.my-plugin-id/icons/sample_32x24.png} then:
*
com.example.my-plugin-id is the plugin id
*
icons/sample_32x24.png is the path to icon under src/main/resources/icons folder
*
* The icon is recommend size of 32x24. If the exact size isn't provided, this scaling can cause the icon to lose
* detail or look fuzzy.
* Optional: We also recommend to put 2x, 3x, and large scale images with suffix {@literal @2x, @3x, @4x} likes:
* {@literal [email protected], [email protected], [email protected]} to display better on high resolution
* display.
*
* Icons are recommended to be put in {@code src/main/resources/icons/} folder
*
* @return the platform URI point to the icon
* @since 1.0.4
*/
String iconUrl();
/**
* Handle the selection event on the item
* @since 1.0.4
*/
public void handleEvent();
/**
*
* @return true if icon is enabled. Otherwise, false
* @since 1.0.4
*/
default boolean isItemEnabled() {
return true;
}
}