//$Id: Type.java May 3, 2008 3:16:24 PM chaostone Exp $
/*
*
* Copyright c 2005-2009.
*
* Licensed under GNU LESSER General Public License, Version 3.
* http://www.gnu.org/licenses
*
*/
/********************************************************************************
* @author chaostone
*
* MODIFICATION DESCRIPTION
*
* Name Date Description
* ============ ============ ============
* chaostone May 3, 2008 Created
*
********************************************************************************/
package org.beanfuse.entity;
public interface Type {
/**
* Is this type a collection type.
*/
public boolean isCollectionType();
/**
* Is this type a component type. If so, the implementation must be castable
* to <tt>AbstractComponentType</tt>. A component type may own collections
* or associations and hence must provide certain extra functionality.
*
* @see AbstractComponentType
* @return boolean
*/
public boolean isComponentType();
/**
* Is this type an entity type?
*
* @return boolean
*/
public boolean isEntityType();
public Type getPropertyType(String property);
public String getName();
public Class getReturnedClass();
public Object newInstance();
}