1 19 20 package edu.umd.cs.findbugs; 21 22 import java.io.IOException ; 23 import java.util.Date ; 24 25 import edu.umd.cs.findbugs.xml.XMLAttributeList; 26 import edu.umd.cs.findbugs.xml.XMLOutput; 27 import edu.umd.cs.findbugs.xml.XMLWriteable; 28 29 38 public class AppVersion implements XMLWriteable, Cloneable { 39 42 public static final String ELEMENT_NAME = "AppVersion"; 43 44 private long sequence; 45 private long timestamp; 46 private String releaseName; 47 private int numClasses; 48 private int codeSize; 49 50 public AppVersion(long sequence, long time, String name) { 51 this.sequence = sequence; 52 this.timestamp = time; 53 this.releaseName = name; 54 } 55 public AppVersion(long sequence, Date time, String name) { 56 this.sequence = sequence; 57 this.timestamp = time.getTime(); 58 this.releaseName = name; 59 } 60 public AppVersion(long sequence) { 61 this.sequence = sequence; 62 this.timestamp = -1; 63 this.releaseName = ""; 64 } 65 66 69 @Override 71 public Object clone() { 72 try { 73 return super.clone(); 74 } catch (CloneNotSupportedException e) { 75 throw new AssertionError (e); 76 } 77 } 78 79 82 public long getSequenceNumber() { 83 return sequence; 84 } 85 86 89 public long getTimestamp() { 90 return timestamp; 91 } 92 93 96 public String getReleaseName() { 97 return releaseName; 98 } 99 100 103 public AppVersion setTimestamp(long timestamp) { 104 this.timestamp = timestamp; 105 return this; 106 } 107 108 111 public AppVersion setReleaseName(String releaseName) { 112 this.releaseName = releaseName; 113 return this; 114 } 115 116 119 public void writeXML(XMLOutput xmlOutput) throws IOException { 120 xmlOutput.openCloseTag(ELEMENT_NAME, new XMLAttributeList() 121 .addAttribute("sequence", String.valueOf(sequence)) 122 .addAttribute("timestamp", String.valueOf(timestamp)) 123 .addAttribute("release", releaseName) 124 .addAttribute("codeSize", String.valueOf(codeSize)) 125 .addAttribute("numClasses", String.valueOf(numClasses))); 126 } 127 128 131 @Override 133 public String toString() { 134 StringBuffer buf = new StringBuffer (); 135 buf.append(String.valueOf(sequence)); 136 buf.append(','); 137 buf.append(String.valueOf(timestamp)); 138 buf.append(','); 139 buf.append(releaseName); 140 buf.append(','); 141 buf.append(codeSize); 142 buf.append(','); 143 buf.append(codeSize); 144 return buf.toString(); 145 } 146 149 public AppVersion setNumClasses(int numClasses) { 150 this.numClasses = numClasses; 151 return this; 152 } 153 156 public int getNumClasses() { 157 return numClasses; 158 } 159 162 public AppVersion setCodeSize(int codeSize) { 163 this.codeSize = codeSize; 164 return this; 165 } 166 169 public int getCodeSize() { 170 return codeSize; 171 } 172 } 173 | Popular Tags |