1 package ca.uhn.fhir.context;
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23 import java.util.ArrayList;
24 import java.util.Collections;
25 import java.util.List;
26 import java.util.Map;
27
28 import ca.uhn.fhir.model.api.ICompositeDatatype;
29 import ca.uhn.fhir.model.api.IElement;
30 import ca.uhn.fhir.model.api.annotation.DatatypeDef;
31
32 public class RuntimeExtensionDtDefinition extends RuntimeCompositeDatatypeDefinition {
33
34 private List<BaseRuntimeChildDefinition> myChildren;
35
36 public RuntimeExtensionDtDefinition(DatatypeDef theDef, Class<? extends ICompositeDatatype> theImplementingClass) {
37 super(theDef, theImplementingClass);
38 }
39
40 @Override
41 public List<BaseRuntimeChildDefinition> getChildren() {
42 return myChildren;
43 }
44
45 @Override
46 public void sealAndInitialize(Map<Class<? extends IElement>, BaseRuntimeElementDefinition<?>> theClassToElementDefinitions) {
47 super.sealAndInitialize(theClassToElementDefinitions);
48
49
50
51
52
53
54 List<BaseRuntimeChildDefinition> superChildren = super.getChildren();
55 ArrayList<BaseRuntimeChildDefinition> children = new ArrayList<BaseRuntimeChildDefinition>();
56 for (BaseRuntimeChildDefinition baseRuntimeChildDefinition : superChildren) {
57 if (baseRuntimeChildDefinition.getValidChildNames().contains("url")) {
58 continue;
59 }
60 children.add(baseRuntimeChildDefinition);
61 }
62
63 myChildren = Collections.unmodifiableList(children);
64 }
65
66 }