当前位置: 首页>>代码示例>>Java>>正文


Java XmlAttributeSetImpl类代码示例

本文整理汇总了Java中com.intellij.pom.xml.impl.events.XmlAttributeSetImpl的典型用法代码示例。如果您正苦于以下问题:Java XmlAttributeSetImpl类的具体用法?Java XmlAttributeSetImpl怎么用?Java XmlAttributeSetImpl使用的例子?那么, 这里精选的类代码示例或许可以为您提供帮助。


XmlAttributeSetImpl类属于com.intellij.pom.xml.impl.events包,在下文中一共展示了XmlAttributeSetImpl类的8个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: setName

import com.intellij.pom.xml.impl.events.XmlAttributeSetImpl; //导入依赖的package包/类
@Override
public PsiElement setName(@NotNull final String nameText) throws IncorrectOperationException {
  final ASTNode name = XmlChildRole.ATTRIBUTE_NAME_FINDER.findChild(this);
  final String oldName = name.getText();
  final PomModel model = PomManager.getModel(getProject());
  final XmlAttribute attribute = XmlElementFactory.getInstance(getProject()).createXmlAttribute(nameText, "");
  final ASTNode newName = XmlChildRole.ATTRIBUTE_NAME_FINDER.findChild((ASTNode)attribute);
  final XmlAspect aspect = model.getModelAspect(XmlAspect.class);
  model.runTransaction(new PomTransactionBase(getParent(), aspect) {
    @Override
    public PomModelEvent runInner() {
      final PomModelEvent event = new PomModelEvent(model);
      PsiFile file = getContainingFile();
      XmlChangeSet xmlAspectChangeSet = new XmlAspectChangeSetImpl(model, file instanceof XmlFile ? (XmlFile)file : null);
      xmlAspectChangeSet.add(new XmlAttributeSetImpl(getParent(), oldName, null));
      xmlAspectChangeSet.add(new XmlAttributeSetImpl(getParent(), nameText, getValue()));
      event.registerChangeSet(model.getModelAspect(XmlAspect.class), xmlAspectChangeSet);
      CodeEditUtil.replaceChild(XmlAttributeImpl.this, name, newName);
      return event;
    }
  });
  return this;
}
 
开发者ID:jskierbi,项目名称:intellij-ce-playground,代码行数:24,代码来源:XmlAttributeImpl.java

示例2: setValue

import com.intellij.pom.xml.impl.events.XmlAttributeSetImpl; //导入依赖的package包/类
public void setValue(String valueText) throws IncorrectOperationException {
  final ASTNode value = XmlChildRole.ATTRIBUTE_VALUE_FINDER.findChild(this);
  final PomModel model = PomManager.getModel(getProject());
  final XmlAttribute attribute = XmlElementFactory.getInstance(getProject()).createXmlAttribute("a", valueText);
  final ASTNode newValue = XmlChildRole.ATTRIBUTE_VALUE_FINDER.findChild((ASTNode)attribute);
  final XmlAspect aspect = model.getModelAspect(XmlAspect.class);
  model.runTransaction(new PomTransactionBase(this, aspect) {
    public PomModelEvent runInner() {
      final XmlAttributeImpl att = XmlAttributeImpl.this;
      if (value != null) {
        if (newValue != null) {
          att.replaceChild(value, newValue.copyElement());
        }
        else {
          att.removeChild(value);
        }
      }
      else {
        if (newValue != null) {
          att.addChild(newValue.copyElement());
        }
      }
      return XmlAttributeSetImpl.createXmlAttributeSet(model, getParent(), getName(), newValue != null ? newValue.getText() : null);
    }
  });
}
 
开发者ID:lshain-android-source,项目名称:tools-idea,代码行数:27,代码来源:XmlAttributeImpl.java

示例3: setName

import com.intellij.pom.xml.impl.events.XmlAttributeSetImpl; //导入依赖的package包/类
public PsiElement setName(@NotNull final String nameText) throws IncorrectOperationException {
  final ASTNode name = XmlChildRole.ATTRIBUTE_NAME_FINDER.findChild(this);
  final String oldName = name.getText();
  final PomModel model = PomManager.getModel(getProject());
  final XmlAttribute attribute = XmlElementFactory.getInstance(getProject()).createXmlAttribute(nameText, "");
  final ASTNode newName = XmlChildRole.ATTRIBUTE_NAME_FINDER.findChild((ASTNode)attribute);
  final XmlAspect aspect = model.getModelAspect(XmlAspect.class);
  model.runTransaction(new PomTransactionBase(getParent(), aspect) {
    public PomModelEvent runInner() {
      final PomModelEvent event = new PomModelEvent(model);
      final XmlAspectChangeSetImpl xmlAspectChangeSet = new XmlAspectChangeSetImpl(model, (XmlFile)getContainingFile());
      xmlAspectChangeSet.add(new XmlAttributeSetImpl(getParent(), oldName, null));
      xmlAspectChangeSet.add(new XmlAttributeSetImpl(getParent(), nameText, getValue()));
      event.registerChangeSet(model.getModelAspect(XmlAspect.class), xmlAspectChangeSet);
      CodeEditUtil.replaceChild(XmlAttributeImpl.this, name, newName);
      return event;
    }
  });
  return this;
}
 
开发者ID:lshain-android-source,项目名称:tools-idea,代码行数:21,代码来源:XmlAttributeImpl.java

示例4: setName

import com.intellij.pom.xml.impl.events.XmlAttributeSetImpl; //导入依赖的package包/类
@Override
public PsiElement setName(@NotNull final String nameText) throws IncorrectOperationException
{
	final ASTNode name = XmlChildRole.ATTRIBUTE_NAME_FINDER.findChild(this);
	final String oldName = name.getText();
	final PomModel model = PomManager.getModel(getProject());
	final XmlAttribute attribute = XmlElementFactory.getInstance(getProject()).createXmlAttribute(nameText, "");
	final ASTNode newName = XmlChildRole.ATTRIBUTE_NAME_FINDER.findChild((ASTNode) attribute);
	final XmlAspect aspect = model.getModelAspect(XmlAspect.class);
	model.runTransaction(new PomTransactionBase(getParent(), aspect)
	{
		@Override
		public PomModelEvent runInner()
		{
			final PomModelEvent event = new PomModelEvent(model);
			PsiFile file = getContainingFile();
			XmlChangeSet xmlAspectChangeSet = new XmlAspectChangeSetImpl(model, file instanceof XmlFile ? (XmlFile) file : null);
			xmlAspectChangeSet.add(new XmlAttributeSetImpl(getParent(), oldName, null));
			xmlAspectChangeSet.add(new XmlAttributeSetImpl(getParent(), nameText, getValue()));
			event.registerChangeSet(model.getModelAspect(XmlAspect.class), xmlAspectChangeSet);
			CodeEditUtil.replaceChild(XmlAttributeImpl.this, name, newName);
			return event;
		}
	});
	return this;
}
 
开发者ID:consulo,项目名称:consulo-xml,代码行数:27,代码来源:XmlAttributeImpl.java

示例5: setValue

import com.intellij.pom.xml.impl.events.XmlAttributeSetImpl; //导入依赖的package包/类
@Override
public void setValue(String valueText) throws IncorrectOperationException {
  final ASTNode value = XmlChildRole.ATTRIBUTE_VALUE_FINDER.findChild(this);
  final PomModel model = PomManager.getModel(getProject());
  final XmlAttribute attribute = XmlElementFactory.getInstance(getProject()).createXmlAttribute("a", valueText);
  final ASTNode newValue = XmlChildRole.ATTRIBUTE_VALUE_FINDER.findChild((ASTNode)attribute);
  final XmlAspect aspect = model.getModelAspect(XmlAspect.class);
  model.runTransaction(new PomTransactionBase(this, aspect) {
    @Override
    public PomModelEvent runInner() {
      final XmlAttributeImpl att = XmlAttributeImpl.this;
      if (value != null) {
        if (newValue != null) {
          att.replaceChild(value, newValue.copyElement());
        }
        else {
          att.removeChild(value);
        }
      }
      else {
        if (newValue != null) {
          att.addChild(newValue.copyElement());
        }
      }
      return XmlAttributeSetImpl.createXmlAttributeSet(model, getParent(), getName(), newValue != null ? newValue.getText() : null);
    }
  });
}
 
开发者ID:jskierbi,项目名称:intellij-ce-playground,代码行数:29,代码来源:XmlAttributeImpl.java

示例6: setValue

import com.intellij.pom.xml.impl.events.XmlAttributeSetImpl; //导入依赖的package包/类
@Override
public void setValue(String valueText) throws IncorrectOperationException
{
	final ASTNode value = XmlChildRole.ATTRIBUTE_VALUE_FINDER.findChild(this);
	final PomModel model = PomManager.getModel(getProject());
	final XmlAttribute attribute = XmlElementFactory.getInstance(getProject()).createXmlAttribute("a", valueText);
	final ASTNode newValue = XmlChildRole.ATTRIBUTE_VALUE_FINDER.findChild((ASTNode) attribute);
	final XmlAspect aspect = model.getModelAspect(XmlAspect.class);
	model.runTransaction(new PomTransactionBase(this, aspect)
	{
		@Override
		public PomModelEvent runInner()
		{
			final XmlAttributeImpl att = XmlAttributeImpl.this;
			if(value != null)
			{
				if(newValue != null)
				{
					att.replaceChild(value, newValue.copyElement());
				}
				else
				{
					att.removeChild(value);
				}
			}
			else
			{
				if(newValue != null)
				{
					att.addChild(newValue.copyElement());
				}
			}
			return XmlAttributeSetImpl.createXmlAttributeSet(model, getParent(), getName(), newValue != null ? newValue.getText() : null);
		}
	});
}
 
开发者ID:consulo,项目名称:consulo-xml,代码行数:37,代码来源:XmlAttributeImpl.java

示例7: deleteChildInternal

import com.intellij.pom.xml.impl.events.XmlAttributeSetImpl; //导入依赖的package包/类
@Override
public void deleteChildInternal(@NotNull final ASTNode child) {
  final PomModel model = PomManager.getModel(getProject());
  final XmlAspect aspect = model.getModelAspect(XmlAspect.class);

  if (child.getElementType() == XmlElementType.XML_ATTRIBUTE) {
    try {
      model.runTransaction(new PomTransactionBase(this, aspect) {
        @Override
        public PomModelEvent runInner() {
          final String name = ((XmlAttribute)child).getName();
          XmlTagImpl.super.deleteChildInternal(child);
          return XmlAttributeSetImpl.createXmlAttributeSet(model, XmlTagImpl.this, name, null);
        }
      });
    }
    catch (IncorrectOperationException e) {
      LOG.error(e);
    }
  }
  else {
    final ASTNode treePrev = child.getTreePrev();
    final ASTNode treeNext = child.getTreeNext();
    XmlTagImpl.super.deleteChildInternal(child);
    if (treePrev != null &&
        treeNext != null &&
        treePrev.getElementType() == XmlElementType.XML_TEXT &&
        treeNext.getElementType() == XmlElementType.XML_TEXT) {
      final XmlText prevText = (XmlText)treePrev.getPsi();
      final XmlText nextText = (XmlText)treeNext.getPsi();

      final String newValue = prevText.getValue() + nextText.getValue();

      // merging two XmlText-s should be done in one transaction to preserve smart pointers
      ChangeUtil.prepareAndRunChangeAction(new ChangeUtil.ChangeAction() {
        @Override
        public void makeChange(TreeChangeEvent destinationTreeChange) {
          PsiElement anchor = prevText.getPrevSibling();
          prevText.delete();
          nextText.delete();
          XmlText text = (XmlText)addAfter(XmlElementFactory.getInstance(getProject()).createDisplayText("x"), anchor);
          text.setValue(newValue);
        }
      }, this);

    }
  }
}
 
开发者ID:jskierbi,项目名称:intellij-ce-playground,代码行数:49,代码来源:XmlTagImpl.java

示例8: deleteChildInternal

import com.intellij.pom.xml.impl.events.XmlAttributeSetImpl; //导入依赖的package包/类
@Override
public void deleteChildInternal(@NotNull final ASTNode child)
{
	final PomModel model = PomManager.getModel(getProject());
	final XmlAspect aspect = model.getModelAspect(XmlAspect.class);

	if(child.getElementType() == XmlElementType.XML_ATTRIBUTE)
	{
		try
		{
			model.runTransaction(new PomTransactionBase(this, aspect)
			{
				@Override
				public PomModelEvent runInner()
				{
					final String name = ((XmlAttribute) child).getName();
					XmlTagImpl.super.deleteChildInternal(child);
					return XmlAttributeSetImpl.createXmlAttributeSet(model, XmlTagImpl.this, name, null);
				}
			});
		}
		catch(IncorrectOperationException e)
		{
			LOG.error(e);
		}
	}
	else
	{
		final ASTNode treePrev = child.getTreePrev();
		final ASTNode treeNext = child.getTreeNext();
		super.deleteChildInternal(child);
		if(treePrev != null && treeNext != null && treePrev.getElementType() == XmlElementType.XML_TEXT && treeNext.getElementType() == XmlElementType.XML_TEXT)
		{
			final XmlText prevText = (XmlText) treePrev.getPsi();
			final XmlText nextText = (XmlText) treeNext.getPsi();

			final String newValue = prevText.getValue() + nextText.getValue();

			// merging two XmlText-s should be done in one transaction to preserve smart pointers
			ChangeUtil.prepareAndRunChangeAction(new ChangeUtil.ChangeAction()
			{
				@Override
				public void makeChange(TreeChangeEvent destinationTreeChange)
				{
					PsiElement anchor = prevText.getPrevSibling();
					prevText.delete();
					nextText.delete();
					XmlText text = (XmlText) addAfter(XmlElementFactory.getInstance(getProject()).createDisplayText("x"), anchor);
					text.setValue(newValue);
				}
			}, this);

		}
	}
}
 
开发者ID:consulo,项目名称:consulo-xml,代码行数:56,代码来源:XmlTagImpl.java


注:本文中的com.intellij.pom.xml.impl.events.XmlAttributeSetImpl类示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。