/**
* Copyright (C) 2001-2005 France Telecom R&D
*/
package org.objectweb.speedo.generation.mivisitor.jdo;
import org.objectweb.speedo.generation.mivisitor.AbstractMetaInfoVisitor;
import org.objectweb.speedo.generation.mivisitor.CascadeDeleteSetter;
import org.objectweb.speedo.generation.mivisitor.DataStoreId;
import org.objectweb.speedo.generation.mivisitor.DiscriminatorVisitor;
import org.objectweb.speedo.generation.mivisitor.FieldConverterVisitor;
import org.objectweb.speedo.generation.mivisitor.IndexVisitor;
import org.objectweb.speedo.generation.mivisitor.InheritanceVisitor;
import org.objectweb.speedo.generation.mivisitor.JavaLangShorcutVisitor;
import org.objectweb.speedo.generation.mivisitor.KeyFieldChecker;
import org.objectweb.speedo.generation.mivisitor.MetaDataAnalyzer;
import org.objectweb.speedo.generation.mivisitor.MetaInfoVisitors;
import org.objectweb.speedo.generation.mivisitor.PrimaryKeyFieldAdder;
import org.objectweb.speedo.generation.mivisitor.ReverseFieldAdder;
import org.objectweb.speedo.generation.mivisitor.VersionFieldAdder;
import org.objectweb.speedo.lib.Personality;
/**
* Defines the list of Speedo Meta Information visitors used in the JDOEnhancer.
*
* @author S.Chassande-Barrioz
*/
public class JDOSMIVisitor extends MetaInfoVisitors {
public JDOSMIVisitor() {
super(Personality.JDO);
}
protected AbstractMetaInfoVisitor[] getMIVisitors() {
return new AbstractMetaInfoVisitor[] {
new TupleExtensionCopier(Personality.JDO),
new KeyFieldChecker(Personality.JDO),
new ReverseFieldAdder(Personality.JDO),
new InheritanceVisitor(Personality.JDO),
new MetaDataAnalyzer(Personality.JDO),
new DiscriminatorVisitor(Personality.JDO),
new PrimaryKeyFieldAdder(Personality.JDO),
new JavaLangShorcutVisitor(Personality.JDO),
new VersionFieldAdder(Personality.JDO),
new CascadeDeleteSetter(Personality.JDO),
new DataStoreId(Personality.JDO),
new FieldConverterVisitor(Personality.JDO),
new ExtensionVerifier(Personality.JDO),
new MappingExtension2Jdo(Personality.JDO),
new IndexVisitor(Personality.JDO)
};
}
}