/******************************************************************************* * (c) Copyright 2016 Hewlett-Packard Development Company, L.P. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Apache License v2.0 which accompany this distribution. * * The Apache License is available at * http://www.apache.org/licenses/LICENSE-2.0 * *******************************************************************************/ package io.cloudslang.lang.compiler.validator; import io.cloudslang.lang.compiler.SlangSource; import io.cloudslang.lang.compiler.modeller.model.Executable; import java.util.List; import java.util.Map; public interface CompileValidator { List<RuntimeException> validateModelWithDependencies(Executable executable, Map<String, Executable> filteredDependencies); List<RuntimeException> validateModelWithDirectDependencies(Executable executable, Map<String, Executable> directDependencies); List<RuntimeException> validateNoDuplicateExecutables(Executable currentExecutable, SlangSource currentSource, Map<Executable, SlangSource> allAvailableExecutables); }