package rtt.annotation.editor.model;
import rtt.annotation.editor.model.annotation.Annotation;
/**
* A factory for new {@link ModelElement}s.
*
* @author Christian Oelsner <C.Oelsner@web.de>
*
*/
public class ClassModelFactory {
protected ClassModelFactory() {}
public static ClassModelFactory getFactory() {
return new ClassModelFactory();
}
public ClassModel createClassModel() {
return new ClassModel();
}
public ClassElement createClassElement(ClassModel parent,
String className, String packageName) {
ClassElement element = new ClassElement(parent);
element.setName(className);
element.setPackageName(packageName);
return element;
}
public <T extends Annotation> FieldElement<T> createFieldElement(ClassElement parent, String name) {
FieldElement<T> element = new FieldElement<>(parent);
element.setName(name);
return element;
}
public <T extends Annotation> MethodElement<T> createMethodElement(ClassElement parent, String name) {
MethodElement<T> element = new MethodElement<>(parent);
element.setName(name);
return element;
}
}