/* * Copyright (C) 2006-2016 DLR, Germany * * All rights reserved * * http://www.rcenvironment.de/ */ package de.rcenvironment.core.component.integration; import java.io.File; /** * Stores information for the tool integration. * * @author Sascha Zur */ public interface ToolIntegrationContext { /** * @return id for the information instance, which must be unique! */ String getContextId(); /** * * @return the type of the context in the configuration files (e.g. "common") */ String getContextType(); /** * @return an absolute path to the directory in which the directory with all tools is. */ String getRootPathToToolIntegrationDirectory(); /** * @return name of the directory that has all tool integration directories. */ String getNameOfToolIntegrationDirectory(); /** * @return the prefix of the tool integration directories (e.g "Tool") that are searched for */ String getToolDirectoryPrefix(); /** * @return name of the files that have the actual json configuration for the integration */ String getConfigurationFilename(); /** * @return name of the class (with package structure!) that is used for executing the integrated * tool */ String getImplementingComponentClassName(); /** * @return id prefix for all tools that are read or created with this information */ String getPrefixForComponentId(); /** * @return name of the component group in which the integrated components are published */ String getComponentGroupId(); /** * Some integration types don't need all common integration properties to be defined by the * user. Keys that are not necessary can be disabled in the wizard with this method. * * @return array of disabled keys. if no keys should be disabled, the Arrays must be empty. */ String[] getDisabledIntegrationKeys(); /** * List of all paths for e.g. templates. * * @return pathes */ File[] getReadOnlyPathsList(); }