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.rssaggregator;
35
36 import info.magnolia.module.ModuleRegistry;
37 import info.magnolia.module.rssaggregator.importhandler.RSSFeedFetcher;
38 import info.magnolia.objectfactory.Components;
39
40
41
42
43 public class RSSJob {
44
45 private String name;
46
47 private String cron;
48
49 private Class<? extends RSSFeedFetcher> fetcherClass;
50
51 private RSSFeedFetcher fetcher;
52
53 private boolean automatedImport;
54
55 private boolean overrideDefault = false;
56
57 public void setFetcher(RSSFeedFetcher fetcher) {
58 this.fetcher = fetcher;
59 }
60
61 public RSSFeedFetcher getFetcher() {
62 if(this.fetcher==null){
63 newFetcher();
64 }
65 return this.fetcher;
66 }
67
68 public void setFetcherClass(Class<? extends RSSFeedFetcher> fetcherClass) {
69 this.fetcherClass = fetcherClass;
70 }
71
72 public Class<? extends RSSFeedFetcher> getFetcherClass() {
73 return this.fetcherClass;
74 }
75
76 public void setName(String name) {
77 this.name = name;
78 }
79
80 public String getName() {
81 return this.name;
82 }
83
84 public void setCron(String cron) {
85 this.cron = cron;
86 }
87
88 public String getCron() {
89 return this.cron;
90 }
91
92 public void setAutomatedImport(boolean automatedImport) {
93 this.automatedImport = automatedImport;
94 }
95
96 public boolean getAutomatedImport() {
97 return this.automatedImport;
98 }
99
100 public void setOverrideDefault(boolean overrideDefault) {
101 this.overrideDefault = overrideDefault;
102 }
103
104 public boolean getOverrideDefault() {
105 return this.overrideDefault;
106 }
107
108 private void newFetcher() {
109 if (this.getFetcherClass() == null) {
110 this.setFetcher(((RSSAggregator) Components.getComponent(ModuleRegistry.class).getModuleInstance("rssaggregator")).newFetcher());
111 } else {
112 this.setFetcher(Components.newInstance(this.getFetcherClass()));
113 }
114 }
115
116 public void shutdown() {
117 if (fetcher != null) {
118 fetcher.shutdown();
119 fetcher=null;
120 }
121 }
122 }