import com.intellij.psi.xml.XmlAttribute;
import com.intellij.psi.xml.XmlFile;
import com.intellij.psi.xml.XmlTag;
-import com.intellij.util.xml.DomElement;
-import com.intellij.util.xml.DomManager;
-import com.intellij.util.xml.DomFileElement;
-import com.intellij.util.xml.GenericAttributeValue;
+import com.intellij.util.xml.*;
import com.intellij.util.xml.reflect.AbstractDomChildrenDescription;
import com.intellij.openapi.diagnostic.Logger;
import org.jetbrains.annotations.Nullable;
/**
* @author peter
*/
-public abstract class DomAnchorImpl<T extends DomElement> {
+public abstract class DomAnchorImpl<T extends DomElement> implements DomAnchor<T> {
private static final Logger LOG = Logger.getInstance("#com.intellij.util.xml.impl.DomAnchorImpl");
public static <T extends DomElement> DomAnchorImpl<T> createAnchor(@NotNull T t) {
return new ModelMergerImpl();
}
+ @Override
+ public <T extends DomElement> DomAnchor<T> createAnchor(T domElement) {
+ return DomAnchorImpl.createAnchor(domElement);
+ }
+
@NotNull
public XmlFile getContainingFile(@NotNull DomElement domElement) {
if (domElement instanceof DomFileElement) {
--- /dev/null
+/*
+ * Copyright 2000-2010 JetBrains s.r.o.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.intellij.util.xml;
+
+import com.intellij.psi.xml.XmlFile;
+import org.jetbrains.annotations.NotNull;
+import org.jetbrains.annotations.Nullable;
+
+/**
+ * @author Gregory.Shrago
+ */
+public interface DomAnchor<T extends DomElement> {
+ @Nullable
+ T retrieveDomElement();
+
+ @NotNull
+ XmlFile getContainingFile();
+}