Skip to content

Package: SegmentGenerator

SegmentGenerator

Coverage

1: /*******************************************************************************
2: * Copyright (c) 2011-2016 EclipseSource Muenchen GmbH and others.
3: *
4: * All rights reserved. This program and the accompanying materials
5: * are made available under the terms of the Eclipse Public License 2.0
6: * which accompanies this distribution, and is available at
7: * https://www.eclipse.org/legal/epl-2.0/
8: *
9: * SPDX-License-Identifier: EPL-2.0
10: *
11: * Contributors:
12: * Lucas Koehler - initial API and implementation
13: ******************************************************************************/
14: package org.eclipse.emf.ecp.view.internal.editor.handler;
15:
16: import java.util.List;
17:
18: import org.eclipse.emf.ecore.EStructuralFeature;
19: import org.eclipse.emf.ecp.view.spi.model.VDomainModelReferenceSegment;
20:
21: /**
22: * Generates a path of {@link VDomainModelReferenceSegment VDomainModelReferenceSegments} from a path of
23: * {@link EStructuralFeature EStructuralFeatures}.
24: * <p>
25: * Implemented by clients to define which segments are generated.
26: *
27: * @author Lucas Koehler
28: *
29: */
30: public interface SegmentGenerator {
31:
32:         /**
33:          * Generates a list of {@link VDomainModelReferenceSegment VDomainModelReferenceSegments} for a given list of
34:          * {@link EStructuralFeature EStructuralFeatures}.
35:          *
36:          * @param structuralFeatures The {@link EStructuralFeature EStructuralFeatures} to generate the segments for
37:          * @return The list of generated segments which has the same order as the list of corresponding structural features
38:          */
39:         List<VDomainModelReferenceSegment> generateSegments(List<EStructuralFeature> structuralFeatures);
40: }