/*
* Beanfabrics Framework Copyright (C) by Michael Karneim, beanfabrics.org
* Use is subject to license terms. See license.txt.
*/
package org.beanfabrics;
import java.beans.BeanInfo;
import java.beans.IntrospectionException;
import java.beans.Introspector;
import java.beans.PropertyDescriptor;
import java.beans.SimpleBeanInfo;
import org.beanfabrics.util.ExceptionUtil;
/**
* @author Michael Karneim
*/
public class ModelProviderBeanInfo extends SimpleBeanInfo {
private static Class BEAN_CLASS = ModelProvider.class;
@Override
public PropertyDescriptor[] getPropertyDescriptors() {
try {
final PropertyDescriptor pModelType = new PropertyDescriptor("pModelType", BEAN_CLASS,
"getPresentationModelType", "setPresentationModelType");
final PropertyDescriptor pModel = new PropertyDescriptor("pModel", BEAN_CLASS, "getPresentationModel",
"setPresentationModel");
return new PropertyDescriptor[] { pModelType, pModel };
} catch (IntrospectionException ex) {
ExceptionUtil.getInstance().handleException("getPropertyDescriptors", ex);
return null;
}
}
@Override
public java.awt.Image getIcon(int iconKind) {
switch (iconKind) {
case BeanInfo.ICON_COLOR_16x16:
default:
return loadImage("modelprovider16x16.gif");
}
}
@Override
public BeanInfo[] getAdditionalBeanInfo() {
final Class superclass = BEAN_CLASS.getSuperclass();
try {
final BeanInfo superBeanInfo = Introspector.getBeanInfo(superclass);
return new BeanInfo[] { superBeanInfo };
} catch (IntrospectionException ex) {
ExceptionUtil.getInstance().handleException("getAdditionalBeanInfo", ex);
return null;
}
}
}