View Javadoc

1   /*
2    * ProcessingState.java
3    *
4    * Created on 21. juli 2005, 15:02
5    *
6    * To change this template, choose Tools | Options and locate the template under
7    * the Source Creation and Management node. Right-click the template and choose
8    * Open. You can then make changes to the template in the Source Editor.
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      // Displays //
31      
32      /***
33       * 
34       * @throws javax.xml.parsers.ParserConfigurationException 
35       * @return 
36       */
37      public Document toXMLDocument() throws ParserConfigurationException {
38          // Document
39          final DocumentBuilder builder = DocumentBuilderFactory.newInstance().newDocumentBuilder();
40          final Document doc = builder.newDocument();
41          // elements
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 }