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 public class DefaultGeneratedDefinitionClass
22 extends DefaultGeneratedClass
23 implements IGeneratedDefinitionClass {
24 @NonNull
25 private final IModelDefinition definition;
26
27
28
29
30
31
32
33
34
35
36
37 public DefaultGeneratedDefinitionClass(@NonNull Path classFile, @NonNull ClassName className,
38 @NonNull IModelDefinition definition) {
39 super(classFile, className);
40 this.definition = definition;
41 }
42
43 @Override
44 public IModelDefinition getDefinition() {
45 return definition;
46 }
47
48 @Override
49 public boolean isRootClass() {
50 return definition instanceof IAssemblyDefinition && ((IAssemblyDefinition) definition).isRoot();
51 }
52 }