package com.tridium.eas.cost.rate.components; import com.tridium.eas.cost.datatypes.RateSchedule; import com.tridium.eas.cost.report.ReconciliationRow; import com.tridium.eas.cost.ui.RateComponentDetailPanel; import java.awt.GridBagConstraints; import javax.baja.util.Lexicon; import javax.swing.JComponent; import javax.swing.JPanel; public interface CustomRateComponent { JComponent buildComponentEditor(RateComponentDetailPanel rateComponentDetailPanel, Lexicon lexicon); void buildReconciliationDetails(ReconciliationRow reconciliationRow, JPanel jPanel, GridBagConstraints gridBagConstraints, Lexicon lexicon); RateSchedule getRateSchedule(); void loadComponentEditor(CustomRateComponent customRateComponent); void setRateSchedule(RateSchedule rateSchedule); boolean supportsAdvancedProperties(); boolean supportsRateSchedule(); }