1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34 package info.magnolia.module.blossom.template;
35
36 import info.magnolia.config.registry.DefinitionMetadata;
37 import info.magnolia.config.registry.DefinitionMetadataBuilder;
38 import info.magnolia.config.registry.DefinitionProvider;
39 import info.magnolia.config.registry.DefinitionRawView;
40 import info.magnolia.config.registry.Registry;
41 import info.magnolia.config.registry.decoration.DefinitionDecorator;
42 import info.magnolia.config.source.ConfigurationSourceTypes;
43 import info.magnolia.module.blossom.support.ExplicitIdDefinitionMetadataBuilder;
44 import info.magnolia.rendering.DefinitionTypes;
45 import info.magnolia.rendering.template.TemplateDefinition;
46
47 import java.util.Collections;
48 import java.util.List;
49
50
51
52
53
54
55 public class BlossomTemplateDefinitionProvider implements DefinitionProvider<TemplateDefinition> {
56
57 private BlossomTemplateDefinition definition;
58
59 public BlossomTemplateDefinitionProvider(BlossomTemplateDefinition definition) {
60 this.definition = definition;
61 }
62
63 @Override
64 public List<DefinitionDecorator<TemplateDefinition>> getDecorators() {
65 return Collections.EMPTY_LIST;
66 }
67
68 @Override
69 public DefinitionMetadata getMetadata() {
70 DefinitionMetadataBuilder builder = new ExplicitIdDefinitionMetadataBuilder(definition.getId())
71 .type(DefinitionTypes.TEMPLATE)
72 .name(definition.getName())
73 .configurationSourceType(ConfigurationSourceTypes.code);
74 if (definition.getHandler() != null) {
75 builder.location(definition.getHandler().getClass().getName());
76 }
77 return builder.build();
78 }
79
80 @Override
81 public TemplateDefinition get() throws Registry.InvalidDefinitionException {
82 return definition;
83 }
84
85 @Override
86 public DefinitionRawView getRaw() {
87 return DefinitionRawView.EMPTY;
88 }
89
90 @Override
91 public boolean isValid() {
92 return true;
93 }
94
95 @Override
96 public List<String> getErrorMessages() {
97 return Collections.emptyList();
98 }
99
100 @Override
101 public long getLastModified() {
102 return System.currentTimeMillis();
103 }
104 }