aboutsummaryrefslogtreecommitdiffstats
path: root/subprojects/language/src/main/java/tools/refinery/language/library/RefineryLibrary.java
blob: 2559749a8dea0cf0fbea0d9efe139d745d1ac450 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
/*
 * SPDX-FileCopyrightText: 2024 The Refinery Authors <https://refinery.tools/>
 *
 * SPDX-License-Identifier: EPL-2.0
 */
package tools.refinery.language.library;

import org.eclipse.emf.common.util.URI;
import org.eclipse.xtext.naming.QualifiedName;
import tools.refinery.language.utils.ProblemUtil;

import java.nio.file.Path;
import java.util.List;
import java.util.Optional;

public interface RefineryLibrary {
	String FILE_NAME_SUFFIX = "." + ProblemUtil.MODULE_EXTENSION;

	default List<QualifiedName> getAutomaticImports() {
		return List.of();
	}

	Optional<URI> resolveQualifiedName(QualifiedName qualifiedName, List<Path> libraryPaths);

	Optional<QualifiedName> getQualifiedName(URI uri, List<Path> libraryPaths);
}