package com.esri;
/**
*/
public abstract class ColumnAbstract implements ColumnInterface
{
protected final String m_family;
protected final String m_qualifier;
protected byte[] m_familyAsBytes;
protected byte[] m_qualifierAsBytes;
protected String m_format;
protected double m_weight;
protected double m_count;
public ColumnAbstract(
final String family,
final String qualifier,
final String format)
{
m_family = family;
m_qualifier = qualifier;
m_familyAsBytes = family.getBytes();
m_qualifierAsBytes = qualifier.getBytes();
m_format = format;
}
@Override
public void reset()
{
m_weight = 0.0;
m_count = 0.0;
}
public String getFamily()
{
return m_family;
}
public String getQualifier()
{
return m_qualifier;
}
@Override
public byte[] getFamilyAsBytes()
{
return m_familyAsBytes;
}
@Override
public byte[] getQualifierAsBytes()
{
return m_qualifierAsBytes;
}
@Override
public double getValue()
{
return m_count == 0.0 ? 0.0 : m_weight / m_count;
}
@Override
public String toFormattedString()
{
return String.format(m_format, getValue());
}
@Override
public void addWeight(final double weight)
{
m_weight += weight;
m_count += 1.0;
}
@Override
public void setWeight(final double weight)
{
m_weight = weight;
m_count = 1.0;
}
}