Summary Table
Categories |
Total Count |
PII |
0 |
URL |
0 |
DNS |
0 |
EKL |
0 |
IP |
0 |
PORT |
0 |
VsID |
0 |
CF |
0 |
AI |
0 |
VPD |
0 |
PL |
0 |
Other |
0 |
File Content
package gov.va.med.ewv.codes;
import java.io.Serializable;
import java.util.List;
// Would like to use this to remove duplication among diagnosis codes, procedure codes,
// and e codes, but would have to work out how to annotate the inheriting classes
public abstract class CodeBase implements Serializable, Comparable<CodeBase>
{
protected static final long serialVersionUID = 1748134964415856234L;
protected Long sequenceNumber;
protected String value;
public CodeBase(Long sequenceNumber, String value)
{
this.sequenceNumber = sequenceNumber;
this.value = value;
}
public String getSequenceNumberAsString()
{
String ret = null;
if(sequenceNumber == null) {
ret = " ";
} else {
ret = Long.toString(sequenceNumber) + ". ";
}
return ret;
}
public long getSequenceNumber()
{
return ((sequenceNumber == null) ? 0L : sequenceNumber);
}
public void setSequenceNumber(Long num)
{
this.sequenceNumber = num;
}
public String getValue()
{
return value;
}
public void setValue(String value)
{
this.value = value;
}
public int compareTo(CodeBase otherCode) throws NullPointerException
{
// The sequenceNumber alone determines the order.
return sequenceNumber.compareTo(otherCode.getSequenceNumber());
}
public static <T extends CodeBase> List<T> renumber(List<T> codeList)
{
long sequenceNumber = 1L;
for(CodeBase nextCode : codeList)
{
nextCode.setSequenceNumber(sequenceNumber++);
}
return codeList;
}
}