/******************************************************************************* * Copyright (c) 2008 * The code, documentation and other materials contained herein have been * licensed under the Eclipse Public License - v 1.0 by the individual * copyright holders listed below, as Initial Contributors under such license. * The text of such license is available at * http://www.eclipse.org/legal/epl-v10.html. * * Contributors: * Henrik Lindberg *******************************************************************************/ package org.eclipse.equinox.p2.authoring.spi; /** * An instance of ITouchpointTypeDesccriptor describes the instructions available for a touchpoint type. * The p2 meta data authoring makes use of this description to present options to the user editing * an installable unit as well as using the information to set correct labels and perform input validation. * * Providers of new touchpoints (or new versions of existing touchpoints) can create new descriptors and * extend the p2 meta data authoring framework. * * @author Henrik Lindberg * */ public interface ITouchpointTypeDescriptor extends ITouchpointActionParameterTypes { /** * @return The ID for the touchpoint type. */ String getTypeId(); /** * @return The version of the touchpoint type being described in OSGi version String format. */ String getVersionString(); /** * @return An array of ITouchpointActionDescriptor that describes the available instructions. */ ITouchpointActionDescriptor[] getActions(); /** * @param actionName * @return The action descriptor for the actionName, or null of there is no such descriptor. */ ITouchpointActionDescriptor getActionDescriptor(String actionName); /** * @return An array of strings with the instruction names /phases supported by a touchpoint type. */ String[] getPhases(); /** * @return true if this description has the meaning "no touchpoint type" */ boolean isNull(); /** * @return true if this description has the meaning "touchpoint type unknown to p2 authoring" */ boolean isUnknown(); }