1
2
3
4
5
6
7
8
9
10
11 package org.wever.jradiodj.beans;
12 import java.beans.PropertyChangeListener;
13 import javax.xml.parsers.DocumentBuilder;
14 import javax.xml.parsers.DocumentBuilderFactory;
15 import javax.xml.parsers.ParserConfigurationException;
16 import org.w3c.dom.Document;
17 import org.w3c.dom.Element;
18
19 /***
20 *
21 * @author mick
22 */
23 public final class ProcessingState extends AbstractBean {
24
25 /*** Creates a new instance of ProcessingState. */
26 public ProcessingState() {
27 }
28
29
30
31
32 /***
33 *
34 * @throws javax.xml.parsers.ParserConfigurationException
35 * @return
36 */
37 public Document toXMLDocument() throws ParserConfigurationException {
38
39 final DocumentBuilder builder = DocumentBuilderFactory.newInstance().newDocumentBuilder();
40 final Document doc = builder.newDocument();
41
42 final Element processingE = doc.createElement("processing");
43 processingE.setAttribute("stepsLoaded", String.valueOf(stepsLoaded));
44 processingE.setAttribute("stepsProcessed", String.valueOf(stepsProcessed));
45 doc.appendChild(processingE);
46 return doc;
47 }
48
49 /***
50 * Holds value of property stepsLoaded.
51 */
52 private volatile long stepsLoaded;
53
54 /***
55 * Utility field used by bound properties.
56 */
57 private final java.beans.PropertyChangeSupport propertyChangeSupport = new java.beans.PropertyChangeSupport(this);
58
59 /***
60 * Adds a PropertyChangeListener to the listener list.
61 * @param l The listener to add.
62 */
63 public void addPropertyChangeListener(final PropertyChangeListener l) {
64
65 propertyChangeSupport.addPropertyChangeListener(l);
66 }
67
68 /***
69 * Removes a PropertyChangeListener from the listener list.
70 * @param l The listener to remove.
71 */
72 public void removePropertyChangeListener(final PropertyChangeListener l) {
73
74 propertyChangeSupport.removePropertyChangeListener(l);
75 }
76
77 /***
78 * Getter for property stepsLoaded.
79 * @return Value of property stepsLoaded.
80 */
81 public long getStepsLoaded() {
82
83 return stepsLoaded;
84 }
85
86 /***
87 * Setter for property stepsLoaded.
88 * @param stepsLoaded New value of property stepsLoaded.
89 */
90 public void setStepsLoaded(final long _stepsLoaded) {
91
92 long oldStepsLoaded = this.stepsLoaded;
93 this.stepsLoaded = _stepsLoaded;
94 propertyChangeSupport.firePropertyChange("stepsLoaded", new Long(oldStepsLoaded), new Long(stepsLoaded));
95 }
96
97 /***
98 *
99 * @param increment
100 */
101 public void incrementStepsLoaded(final long increment) {
102 setStepsLoaded(stepsLoaded + increment);
103 }
104
105 /***
106 * Holds value of property stepsProcessed.
107 */
108 private volatile long stepsProcessed;
109
110 /***
111 * Getter for property stepsProcessed.
112 * @return Value of property stepsProcessed.
113 */
114 public long getStepsProcessed() {
115
116 return stepsProcessed;
117 }
118
119 /***
120 * Setter for property stepsProcessed.
121 * @param stepsProcessed New value of property stepsProcessed.
122 */
123 public void setStepsProcessed(final long _stepsProcessed) {
124
125 long oldStepsProcessed = this.stepsProcessed;
126 this.stepsProcessed = _stepsProcessed;
127 propertyChangeSupport.firePropertyChange("stepsProcessed", new Long(oldStepsProcessed), new Long(stepsProcessed));
128 }
129
130 /***
131 *
132 * @param increment
133 */
134 public void incrementStepsProcessed(final long increment) {
135 setStepsProcessed(stepsProcessed + increment);
136 }
137
138 /***
139 */
140 public void reset() {
141 setStepsLoaded(0);
142 setStepsProcessed(0);
143 }
144 }