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

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 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 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