org.databene.dbsanity.report.HistogramModel Maven / Gradle / Ivy
The newest version!
/*
* (c) Copyright 2011 by Volker Bergmann. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, is permitted under the terms of the
* GNU General Public License (GPL).
*
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
* WITHOUT A WARRANTY OF ANY KIND. ALL EXPRESS OR IMPLIED CONDITIONS,
* REPRESENTATIONS AND WARRANTIES, INCLUDING ANY IMPLIED WARRANTY OF
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT, ARE
* HEREBY EXCLUDED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
* LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
* POSSIBILITY OF SUCH DAMAGE.
*/
package org.databene.dbsanity.report;
import org.databene.dbsanity.html.Renderable;
import org.databene.dbsanity.model.SanityCheckVerdict;
/**
* Abstract class to inherit for providing histogram related data.
* Created: 02.12.2011 21:15:59
* @since 0.9.3
* @author Volker Bergmann
*/
public abstract class HistogramModel {
protected ReportContext context;
private String labelColumnTitle;
private String barColumnTitle;
private boolean renderVerdict;
private String color;
private int labelWidth;
private boolean medianRuler;
public HistogramModel(String labelColumnKey, String barColumnKey,
boolean renderVerdict, String color, int labelWidth, boolean medianRuler,
ReportContext context) {
this.context = context;
this.labelColumnTitle = localize(labelColumnKey);
this.renderVerdict = renderVerdict;
this.color = color;
this.labelWidth = labelWidth;
this.barColumnTitle = localize(barColumnKey);
this.medianRuler = medianRuler;
}
public String getLabelColumnTitle() {
return labelColumnTitle;
}
public String getBarColumnTitle() {
return barColumnTitle;
}
public boolean isRenderVerdict() {
return renderVerdict;
}
public String getColor() {
return color;
}
public int getLabelWidth() {
return labelWidth;
}
public boolean isMedianRuler() {
return medianRuler;
}
public SanityCheckVerdict getVerdict(E element) {
return null;
}
public String localize(String key) {
return context.localize(key);
}
public abstract Renderable getLabel(E element);
public abstract long getValue(E element);
public abstract Renderable formatValue(long value);
}