-- @atlcompiler atl2010

-- @nsURI MM=http://www.eclipse.org/MoDisco/Java/0.2.incubation/java

-- ******************************************************************************
-- Copyright (c) 2012 INRIA & Ecole des Mines de Nantes. 
-- All rights reserved. This program and the accompanying materials 
-- are made available under the terms of the Eclipse Public License v2.0 
-- which accompanies this distribution, and is available at
-- http://www.eclipse.org/legal/epl-v20.html
-- 
-- Contributors: 
-- 	Hugo Bruneliere - Initial implementation
--  
-- ******************************************************************************


module ModifyEntityClassNames;
create OUT : Java refining IN : Java;


rule modifyCompilationUnitName {
	from
		icu : Java!CompilationUnit (
			icu.types->first().annotations->exists(a | a.type.type.name='Entity')
		)
	to
		mocu : Java!CompilationUnit (
			name <- icu.types->first().name + 'Entity.java'	
		)
}

rule modifyClassName {
	from
		icd : Java!ClassDeclaration (
			icd.annotations->exists(a | a.type.type.name='Entity')
		)
	to
		mcd : Java!ClassDeclaration (
			name <- icd.name + 'Entity'	
		)
}

rule modifyConstructorName {
	from
		icd : Java!ConstructorDeclaration (
			icd.abstractTypeDeclaration.annotations->exists(a | a.type.type.name='Entity')
		)
	to
		mcd : Java!ConstructorDeclaration (
			name <- icd.name + 'Entity'	
		)
}
