package com.floreantpos.ui; import java.awt.Frame; import java.awt.LayoutManager; import com.floreantpos.model.util.IllegalModelStateException; import com.floreantpos.ui.dialog.BeanEditorDialog; public abstract class BeanEditor extends com.floreantpos.swing.TransparentPanel { protected Object bean; protected BeanEditorDialog editorDialog; public BeanEditor(LayoutManager layout, boolean isDoubleBuffered) { super(layout, isDoubleBuffered); } public BeanEditor(LayoutManager layout) { super(layout); } public BeanEditor(boolean isDoubleBuffered) { super(isDoubleBuffered); } public BeanEditor() { super(); } public abstract boolean save(); public abstract void dispose(); protected abstract void updateView(); protected abstract boolean updateModel() throws IllegalModelStateException; public abstract String getDisplayText(); public Object getBean() { return bean; } public void setBean(Object bean) { this.bean = bean; updateView(); } public Frame getParentFrame() { return (Frame) editorDialog.getOwner(); } public BeanEditorDialog getEditorDialog() { return editorDialog; } public void setEditorDialog(BeanEditorDialog editorDialog) { this.editorDialog = editorDialog; } }