/** * Copyright (c) 2017 committers of YAKINDU and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * Contributors: * committers of YAKINDU - initial API and implementation * */ package org.yakindu.sct.ui.editor.validation; import java.util.Set; import org.eclipse.core.resources.IResourceChangeEvent; import org.eclipse.emf.ecore.resource.Resource; import org.yakindu.sct.model.sgraph.ui.validation.SCTIssue; import com.google.common.collect.Multimap; import com.google.inject.ImplementedBy; /** * @author Johannes Dicks - Initial contribution and API */ @ImplementedBy(DefaultResourceChangeToIssueProcessor.class) public interface IResourceChangeToIssueProcessor { ResourceDeltaToIssueResult process(IResourceChangeEvent event, Resource connectedResource, Multimap<String, SCTIssue> visibleIssues); public static class ResourceDeltaToIssueResult { private Multimap<String, SCTIssue> issues; private Set<String> changedElementIDs; public ResourceDeltaToIssueResult(Multimap<String, SCTIssue> issues, Set<String> changedElementIDs) { this.issues = issues; this.changedElementIDs = changedElementIDs; } public Multimap<String, SCTIssue> getIssues() { return issues; } public Set<String> getChangedElementIDs() { return changedElementIDs; } } }