/*******************************************************************************
* Copyright (c) 2012 MEDEVIT.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/epl-v10.html
*
* Contributors:
* T. Huster - reworked for Tarmed version 1.08
******************************************************************************/
package ch.elexis.views;
import org.eclipse.jface.viewers.Viewer;
import org.eclipse.jface.viewers.ViewerFilter;
import ch.elexis.data.TarmedLeistung;
import ch.rgw.tools.TimeTool;
public class TarmedValidDateFilter extends ViewerFilter {
private TimeTool validDate;
private boolean doFilter = true;
/**
* Show only positions valid at date. Set date to null to show all.
*
* @param date
*/
public void setValidDate(TimeTool date){
validDate = date;
}
public boolean getDoFilter(){
return doFilter;
}
public void setDoFilter(boolean value){
doFilter = value;
}
@Override
public boolean select(Viewer viewer, Object parentElement, Object element){
TarmedLeistung leistung = (TarmedLeistung) element;
if (doFilter && validDate != null) {
TimeTool validFrom = leistung.getGueltigVon();
TimeTool validTo = leistung.getGueltigBis();
// Kapitel do not have valid dates
if (validFrom != null && validTo != null) {
if (!(validDate.isAfterOrEqual(validFrom) && validDate.isBeforeOrEqual(validTo)))
return false;
}
}
return true;
}
}