/*******************************************************************************
 *  Copyright (c) 2007 Oracle. All rights reserved. This
 *  program and the accompanying materials are made available under the terms of
 *  the Eclipse Public License v1.0 which accompanies this distribution, and is
 *  available at http://www.eclipse.org/legal/epl-v10.html
 *  
 *  Contributors: Oracle. - initial API and implementation
 *******************************************************************************/
package org.eclipse.jpt.core.internal.content.orm.resource;

import org.eclipse.emf.ecore.EObject;
import org.eclipse.jpt.core.internal.content.orm.OrmPackage;
import org.eclipse.wst.common.internal.emf.resource.IDTranslator;
import org.eclipse.wst.common.internal.emf.resource.Translator;

public class EmbeddableTranslator extends TypeMappingTranslator
{	
	protected static final OrmPackage XML_PKG = 
		OrmPackage.eINSTANCE;
	
	
	public EmbeddableTranslator() {
		super(EMBEDDABLE);
	}
	
	
	@Override
	public EObject createEMFObject(String nodeName, String readAheadName) {
		return JPA_CORE_XML_FACTORY.createXmlEmbeddable();
	}
	
	@Override
	protected Translator[] createChildren() {
		return new Translator[] {
			IDTranslator.INSTANCE,
			createJavaClassTranslator(),
			createAccessTypeTranslator(),
			createMetadataCompleteTranslator(),
			createPlaceHolderTranslator(EMBEDDABLE__DESCRIPTION),
			createPersistentAttributesTranslator()
		};
	}


}
