1
2
3
4
5
6 package gov.nist.secauto.metaschema.databind.codegen.impl;
7
8 import com.squareup.javapoet.ClassName;
9
10 import gov.nist.secauto.metaschema.core.model.IAssemblyDefinition;
11 import gov.nist.secauto.metaschema.core.model.IModelDefinition;
12 import gov.nist.secauto.metaschema.databind.codegen.IGeneratedDefinitionClass;
13
14 import java.nio.file.Path;
15
16 import edu.umd.cs.findbugs.annotations.NonNull;
17
18
19
20
21
22 public class DefaultGeneratedDefinitionClass
23 extends DefaultGeneratedClass
24 implements IGeneratedDefinitionClass {
25 @NonNull
26 private final IModelDefinition definition;
27
28
29
30
31
32
33
34
35
36
37
38 public DefaultGeneratedDefinitionClass(@NonNull Path classFile, @NonNull ClassName className,
39 @NonNull IModelDefinition definition) {
40 super(classFile, className);
41 this.definition = definition;
42 }
43
44 @Override
45 public IModelDefinition getDefinition() {
46 return definition;
47 }
48
49 @Override
50 public boolean isRootClass() {
51 return definition instanceof IAssemblyDefinition && ((IAssemblyDefinition) definition).isRoot();
52 }
53 }