2 * Copyright (c) 2005 Your Corporation. All Rights Reserved.
4 package com
.intellij
.util
.xml
;
6 import com
.intellij
.openapi
.project
.Project
;
7 import com
.intellij
.psi
.xml
.XmlFile
;
8 import com
.intellij
.psi
.xml
.XmlTag
;
9 import com
.intellij
.util
.xml
.reflect
.DomGenericInfo
;
10 import org
.jetbrains
.annotations
.NotNull
;
11 import org
.jetbrains
.annotations
.Nullable
;
13 import java
.lang
.reflect
.Type
;
18 public abstract class DomManager
{
20 public static DomManager
getDomManager(Project project
) {
21 return project
.getComponent(DomManager
.class);
24 public abstract Project
getProject();
27 public abstract <T
extends DomElement
> DomFileElement
<T
> getFileElement(XmlFile file
, Class
<T
> aClass
, String rootTagName
);
29 public abstract void addDomEventListener(DomEventListener listener
);
31 public abstract void removeDomEventListener(DomEventListener listener
);
33 public abstract DomGenericInfo
getGenericInfo(Type type
);
35 public abstract <T
extends DomElement
> void registerImplementation(Class
<T
> domElementClass
, Class
<?
extends T
> implementationClass
);
38 public abstract DomElement
getDomElement(final XmlTag tag
);
40 public abstract void registerPresentationFactory(DomElementPresentationFactory factory
);
43 public abstract DomElementPresentation
getDomElementPresentation(final DomElement element
);