// ============================================================================ // // Copyright (C) 2006-2012 Talend Inc. - www.talend.com // // This source code is available under agreement available at // %InstallDIR%\features\org.talend.rcp.branding.%PRODUCTNAME%\%PRODUCTNAME%license.txt // // You should have received a copy of the agreement // along with this program; if not, write to Talend SA // 9 rue Pages 92150 Suresnes, France // // ============================================================================ package org.talend.core.ui; import java.util.List; import java.util.Map; import org.eclipse.gef.ui.actions.SelectionAction; import org.eclipse.ui.IEditorPart; import org.eclipse.ui.IWorkbenchPage; import org.eclipse.ui.IWorkbenchPart; import org.eclipse.ui.part.MultiPageEditorPart; import org.talend.core.IService; import org.talend.core.model.components.IComponent; import org.talend.core.model.process.EConnectionType; import org.talend.core.model.process.IConnection; import org.talend.core.model.process.IElement; import org.talend.core.model.process.IElementParameter; import org.talend.core.model.process.INode; import org.talend.core.model.process.INodeConnector; import org.talend.core.model.properties.JobletProcessItem; import org.talend.core.model.properties.Property; import org.talend.designer.core.model.utils.emf.talendfile.NodeType; import org.talend.designer.core.model.utils.emf.talendfile.ProcessType; /** * cli class global comment. Detailled comment */ public interface IJobletProviderService extends IService { public boolean isJobletComponent(INode node); public boolean isJobletInOutComponent(INode node); public Property getJobletComponentItem(INode node); public Property getJobletComponentItem(IComponent component); public void reloadJobletProcess(INode node); public boolean isTriggerNode(INode node); public boolean isTriggerInputNode(INode node); public boolean canConnectTriggerNode(INode node, EConnectionType connType); public List<EConnectionType> getTriggerNodeSupportConnTypes(INode triggerNode); public List<INode> getTriggerNodes(INode jobletNode); public EConnectionType getTriggerNodeConnType(INode triggerNode); public boolean isBuiltTriggerConnector(INode jobletNode, INodeConnector connector); public List<INodeConnector> getTriggerBuiltConnectors(INode jobletNode, EConnectionType lineStyle, boolean input); public List<INodeConnector> getFreeTriggerBuiltConnectors(INode jobletNode, EConnectionType lineStyle, boolean input); public List<INode> getConnNodesForInputTrigger(INode jobletNode, IElementParameter param); public void upateJobletComonentList(INode jobletNode); public void loadComponentsFromProviders(); public IComponent setPropertyForJobletComponent(String id, String version); public void updateParametersFromJoblet(INode node, IComponent newComponent); public ProcessType getJobletProcess(NodeType node); public IEditorPart openJobletItem(JobletProcessItem item); public SelectionAction getMoveToJobletAction(IWorkbenchPart part, INode jobletNode, Map<INode, IConnection> nodeMap); public SelectionAction getMoveToJobAction(IWorkbenchPart part); public MultiPageEditorPart openJobletEditor(INode jobletNode, IWorkbenchPage page); public void saveJobletNode(JobletProcessItem jobletItem, IElement jobletContainer); public boolean isLock(INode in); public boolean isReadOnly(INode in); public void lockJoblet(INode node); public void updateJobletCom(INode node); public void unlockJoblet(INode node, boolean needAsk); public List<INode> checkAddNodes(IElement jobletContainer); public List<INode> checkDeleteNodes(IElement jobletContainer); public boolean checkModify(IElement jobletContainer); }