org.bsc.bean.ManagedBeanInfoProxy Maven / Gradle / Ivy
package org.bsc.bean;
import java.awt.Image;
import java.beans.BeanDescriptor;
import java.beans.BeanInfo;
import java.beans.EventSetDescriptor;
import java.beans.MethodDescriptor;
import java.beans.PropertyDescriptor;
/**
*
* @author Sorrentino
*
* @param
*/
public class ManagedBeanInfoProxy implements ManagedBeanInfo {
protected BeanInfo delegate;
private Class beanClass;
/**
*
* @param beanInfo
* @param beanClass
*/
@SuppressWarnings("unchecked")
public ManagedBeanInfoProxy( BeanInfo beanInfo, Class beanClass ) {
if( null==beanInfo ) throw new IllegalArgumentException("beaninfo is null!");
if( null==beanClass ) throw new IllegalArgumentException("bean class is null!");
delegate = beanInfo;
this.beanClass = beanClass;
if( delegate instanceof ManagedBeanInfo ) {
((ManagedBeanInfo)delegate).setBeanClass(beanClass);
}
}
public final BeanInfo getDelegate() {
return delegate;
}
/**
*
* @param beanInfo
* @param beanClass
*/
public ManagedBeanInfoProxy( ManagedBeanInfo extends T> beanInfo ) {
if( null==beanInfo ) throw new IllegalArgumentException("beaninfo is null!");
delegate = beanInfo;
}
/**
*
*/
@Override
public String toString() {
return delegate.toString();
}
@SuppressWarnings("unchecked")
public Class getBeanClass() {
if( delegate instanceof ManagedBeanInfo ) {
return ((ManagedBeanInfo)delegate).getBeanClass();
}
return beanClass;
}
@SuppressWarnings("unchecked")
public void setBeanClass(Class extends T> beanClass) {
if( delegate instanceof ManagedBeanInfo ) {
((ManagedBeanInfo)delegate).setBeanClass(beanClass);
}
else {
throw new UnsupportedOperationException("setBeanClass() is not supported!");
}
}
public BeanInfo[] getAdditionalBeanInfo() {
return delegate.getAdditionalBeanInfo();
}
public BeanDescriptor getBeanDescriptor() {
return delegate.getBeanDescriptor();
}
public int getDefaultEventIndex() {
return delegate.getDefaultEventIndex();
}
public int getDefaultPropertyIndex() {
return delegate.getDefaultPropertyIndex();
}
public EventSetDescriptor[] getEventSetDescriptors() {
return delegate.getEventSetDescriptors();
}
public Image getIcon(int iconKind) {
return delegate.getIcon(iconKind);
}
public MethodDescriptor[] getMethodDescriptors() {
return delegate.getMethodDescriptors();
}
public PropertyDescriptor[] getPropertyDescriptors() {
return delegate.getPropertyDescriptors();
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy