refactored jsf model
[fedora-idea.git] / dom / openapi / src / com / intellij / util / xml / model / impl / DomModelFactoryHelper.java
blob25f9e6bc87e3555dbdaa957704b9f01995e1c434
1 package com.intellij.util.xml.model.impl;
3 import com.intellij.util.xml.ModelMerger;
4 import com.intellij.util.xml.DomFileElement;
5 import com.intellij.util.xml.DomManager;
6 import com.intellij.util.xml.DomElement;
7 import com.intellij.psi.xml.XmlFile;
8 import org.jetbrains.annotations.NotNull;
9 import org.jetbrains.annotations.Nullable;
11 /**
12 * User: Sergey.Vasiliev
14 public class DomModelFactoryHelper<T extends DomElement> {
15 protected final Class<T> myClass;
16 protected final ModelMerger myModelMerger;
18 public DomModelFactoryHelper(@NotNull Class<T> aClass, @NotNull ModelMerger modelMerger) {
19 myClass = aClass;
20 myModelMerger = modelMerger;
23 @Nullable
24 public T getDom(@NotNull XmlFile configFile) {
25 final DomFileElement<T> element = getDomRoot(configFile);
26 return element == null ? null : element.getRootElement();
29 @Nullable
30 public DomFileElement<T> getDomRoot(@NotNull XmlFile configFile) {
31 return DomManager.getDomManager(configFile.getProject()).getFileElement(configFile, myClass);
34 public Class<T> getDomModelClass() {
35 return myClass;
38 public ModelMerger getModelMerger() {
39 return myModelMerger;