1   package org.daisy.pipeline.modules.impl;
2   
3   import java.io.File;
4   import java.net.URI;
5   
6   import org.daisy.pipeline.modules.AbstractModuleBuilder;
7   import org.daisy.pipeline.modules.JarModuleBuilder;
8   import org.daisy.pipeline.modules.Module;
9   import org.daisy.pipeline.modules.ModuleRef;
10  import org.daisy.pipeline.xmlcatalog.XmlCatalogParser;
11  
12  import org.osgi.service.component.annotations.Component;
13  import org.osgi.service.component.annotations.Reference;
14  import org.osgi.service.component.annotations.ReferenceCardinality;
15  import org.osgi.service.component.annotations.ReferencePolicy;
16  
17  @Component(
18      name = "org.daisy.pipeline.modules.impl.Module_braille_module",
19      service = { ModuleRef.class },
20      immediate = true
21  )
22  public class Module_braille_module implements ModuleRef {
23      
24      private Module instance;
25      private XmlCatalogParser catalogParser;
26      
27      public Module get() {
28          if (instance == null) {
29              AbstractModuleBuilder builder
30              = AbstractModuleBuilder.fromContainedClass(Module_braille_module.class)
31                                     .withCatalogParser(catalogParser);
32              if (builder instanceof JarModuleBuilder) {
33                  // name, version and title not set yet
34                  builder.withName("braille-module")
35                         .withVersion("1.6.5")
36                         .withTitle("DP2 Braille Modules :: mod-dedicon");
37              }
38              instance = builder.build();
39          }
40          return instance;
41      }
42      
43      @Reference(
44          name = "XmlCatalogParser",
45          unbind = "-",
46          service = XmlCatalogParser.class,
47          cardinality = ReferenceCardinality.MANDATORY,
48          policy = ReferencePolicy.STATIC
49      )
50      public void setParser(XmlCatalogParser parser) {
51          catalogParser = parser;
52      }
53  }