Seal SchemaSourceRepresentation hierarchy
[yangtools.git] / plugin / plugin-generator-api / src / test / java / org / opendaylight / yangtools / plugin / generator / api / TestFileGenerator.java
1 /*
2  * Copyright (c) 2020 PANTHEON.tech, s.r.o. and others.  All rights reserved.
3  *
4  * This program and the accompanying materials are made available under the
5  * terms of the Eclipse Public License v1.0 which accompanies this distribution,
6  * and is available at http://www.eclipse.org/legal/epl-v10.html
7  */
8 package org.opendaylight.yangtools.plugin.generator.api;
9
10 import com.google.common.collect.ImmutableTable;
11 import com.google.common.collect.Table;
12 import java.util.Set;
13 import org.eclipse.jdt.annotation.NonNullByDefault;
14 import org.opendaylight.yangtools.yang.model.api.EffectiveModelContext;
15 import org.opendaylight.yangtools.yang.model.api.Module;
16
17 @NonNullByDefault
18 final class TestFileGenerator implements FileGenerator {
19     private final String prefix;
20
21     TestFileGenerator(final String prefix) {
22         this.prefix = prefix;
23     }
24
25     @Override
26     public Table<GeneratedFileType, GeneratedFilePath, GeneratedFile> generateFiles(final EffectiveModelContext context,
27             final Set<Module> localModules, final ModuleResourceResolver moduleResourcePathResolver) {
28         if (prefix == null) {
29             return ImmutableTable.of();
30         }
31
32         return ImmutableTable.<GeneratedFileType, GeneratedFilePath, GeneratedFile>builder()
33             .put(GeneratedFileType.SOURCE, GeneratedFilePath.ofFilePath(prefix + "Source.test"),
34                 GeneratedFile.of(GeneratedFileLifecycle.PERSISTENT, "source"))
35             .put(GeneratedFileType.RESOURCE, GeneratedFilePath.ofFilePath(prefix + "-resource"),
36                 GeneratedFile.of(GeneratedFileLifecycle.PERSISTENT, "test-resource"))
37             .put(GeneratedFileType.SOURCE, GeneratedFilePath.ofFilePath(prefix + "GenSource.test"),
38                 GeneratedFile.of(GeneratedFileLifecycle.TRANSIENT, "source"))
39             .put(GeneratedFileType.RESOURCE, GeneratedFilePath.ofFilePath(prefix + "-gen-resource"),
40                 GeneratedFile.of(GeneratedFileLifecycle.TRANSIENT, "resource"))
41             .build();
42     }
43 }