Bug 138562 Splite extendsexcpetion to seperate sub class
The suggestion is Parent invalid Cycle extends Different type extends Not top level extends
model/org.eclipse.birt.report.model/src/org/eclipse/birt/report/model/command/ExtendsCommand.java
* @param obj
	 *            the element to modify.
	 */
	public ExtendsCommand( Module module, DesignElement obj )
	{
		super( module, obj );
	}
	/**
	 * Sets the extends attribute of an element.
	 * 
	 * @param base
	 *            the name of the new parent element, or null to clear the
	 *            extends attribute.
	 * @throws ExtendsException
	 *             if the element can not be extended or the base element is not
	 *             on component slot.
	 */
	public void setExtendsName( String base ) throws ExtendsException
	{
		base = StringUtil.trimString( base );
		
		
		if ( element.isVirtualElement( ) )
			throw new ExtendsException( element, base,
					ExtendsException.DESIGN_EXCEPTION_EXTENDS_FORBIDDEN );
		if ( base == null && element.getExtendsName( ) == null )
			return;
		ElementDefn metaData = (ElementDefn) element.getDefn( );
		ElementRefValue retValue = null;
		if ( base == null )