All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.tentackle.swing.rdc.DefaultGuiProvider Maven / Gradle / Ivy

There is a newer version: 8.3.0.1
Show newest version
/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package org.tentackle.swing.rdc;

import java.awt.Component;
import java.awt.datatransfer.Transferable;
import java.util.ArrayList;
import java.util.Collection;
import javax.swing.ImageIcon;
import org.tentackle.misc.ObjectFilter;
import org.tentackle.misc.ShortLongText;
import org.tentackle.pdo.DomainContext;
import org.tentackle.pdo.PersistentDomainObject;
import org.tentackle.swing.FormPanel;
import org.tentackle.swing.FormTableEntry;
import org.tentackle.swing.plaf.PlafUtilities;

/**
 * Default implementation of a {@link GuiProvider}.
* Can be used as an adapter. * * @param the PDOs class * @author harald */ public class DefaultGuiProvider> implements GuiProvider { private T pdo; // the PDO /** * Creates a default GUI provider. * * @param pdo the PDO */ public DefaultGuiProvider(T pdo) { setPdo(pdo); } @Override public T getPdo() { return pdo; } @Override public void setPdo(T pdo) { if (pdo == null) { throw new NullPointerException("pdo must not be null"); } this.pdo = pdo; } @Override public DomainContext getDomainContext() { return pdo.getDomainContext(); } @Override public ImageIcon getIcon() { return PlafUtilities.getInstance().getIcon("unknown"); } @Override public boolean panelExists() { return false; } @Override public FormPanel createPanel() { return null; } @Override public PdoEditDialog createDialog(Component comp, boolean modal) { return null; } @Override public T getPanelObject() { return getPdo(); } @Override public PdoTransferable getTransferable() { return getPdo().getPersistenceDelegate().isNew() ? null : new PdoTransferable<>(getPdo()); } @Override public boolean dropTransferable(Transferable transferable) { return false; } @Override public PdoSearch createPdoSearch() { return new DefaultSearch<>(pdo); } @Override public FormTableEntry getFormTableEntry() { return new DefaultPdoTableEntry<>(getPdo()); } @Override public String getFormTableName() { return "default"; } @Override public String toString() { return getClass().getName() + " for " + getPdo().toGenericString(); } @Override public ObjectFilter getTreeFilter() { return null; } @Override public boolean allowsTreeChildObjects() { return true; } @Override public Collection getTreeChildObjects() { return new ArrayList<>(); } @Override public Collection getTreeChildObjects(Object parentObject) { return getTreeChildObjects(); } @Override public int getTreeExpandMaxDepth() { return 0; } @Override public boolean allowsTreeParentObjects() { return false; } @Override public Collection getTreeParentObjects() { return new ArrayList<>(); } @Override public Collection getTreeParentObjects(Object parentObject) { return getTreeParentObjects(); } @Override public T getTreeRoot() { return getPdo(); } @Override public String getTreeText() { if (getPdo() instanceof ShortLongText) { return ((ShortLongText) getPdo()).getShortText() + " : " + ((ShortLongText) getPdo()).getLongText(); } return getPdo().toString(); } @Override public String getTreeText(Object parent) { return getTreeText(); } @Override public String getToolTipText() { return getTreeText(); } @Override public String getToolTipText(Object parent) { return getToolTipText(); } @Override public boolean stopTreeExpansion() { return false; } }




© 2015 - 2025 Weber Informatics LLC | Privacy Policy