// ============================================================================ // // Copyright (C) 2006-2016 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 com.amalto.workbench.utils; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import org.eclipse.xsd.XSDElementDeclaration; import org.eclipse.xsd.XSDParticle; import com.amalto.workbench.models.Line; import com.amalto.workbench.models.TreeObject; public class WorkbenchClipboard { // singleton private static WorkbenchClipboard instance; protected WorkbenchClipboard() { } public static WorkbenchClipboard getWorkbenchClipboard() { if (instance == null) instance = new WorkbenchClipboard(); return instance; } // holds a vector of copied TreeObject ArrayList<TreeObject> list = new ArrayList<TreeObject>(); public void put(ArrayList<TreeObject> list) { this.list = list; } public ArrayList<TreeObject> get() { return this.list; } public void reset() { this.list = new ArrayList<TreeObject>(); } public void add(TreeObject obj) { this.list.add(obj); } public void remove(TreeObject obj) { this.list.remove(obj); } public boolean isEmpty() { return (this.list == null) || (this.list.size() == 0); } // add by ymli, fix bug 0009770, add the clip for concept ArrayList<XSDElementDeclaration> conceptList = new ArrayList<XSDElementDeclaration>(); ArrayList<XSDParticle> particleList = new ArrayList<XSDParticle>(); public ArrayList<XSDParticle> getParticles() { return particleList; } public void setParticles(ArrayList<XSDParticle> particleList) { this.particleList = particleList; } public void add(XSDParticle particle) { this.particleList.add(particle); } public void particlesReset() { this.particleList = new ArrayList<XSDParticle>(); } public void add(XSDElementDeclaration concept) { this.conceptList.add(concept); } public void conceptsReset() { this.conceptList = new ArrayList<XSDElementDeclaration>(); } public ArrayList<XSDElementDeclaration> getConcepts() { return this.conceptList; } public void putConcepts(ArrayList<XSDElementDeclaration> conceptList) { this.conceptList = conceptList; } // Line HashMap<String, List<Line>> lineList = new HashMap<String, List<Line>>(); public void setLines(String key, List<Line> lines) { List<Line> l = lineList.get(key); if (l == null) { l = new ArrayList<Line>(); lineList.put(key, l); } l.clear(); l.addAll(lines); } public List<Line> getLines(String key) { return this.lineList.get(key); } }