| /** |
| * Copyright (c) 2006 IBM Corporation and others. |
| * All rights reserved. This program and the accompanying materials |
| * are made available under the terms of the Eclipse Public License v1.0 |
| * which accompanies this distribution, and is available at |
| * http://www.eclipse.org/legal/epl-v10.html |
| * |
| * Contributors: |
| * IBM - Initial API and implementation |
| */ |
| package org.eclipse.emf.codegen.merge.java.facade.jdom; |
| |
| import org.eclipse.jdt.core.jdom.IDOMInitializer; |
| import org.eclipse.jdt.core.jdom.IDOMMember; |
| import org.eclipse.jdt.core.jdom.IDOMNode; |
| |
| import org.eclipse.emf.codegen.merge.java.facade.JInitializer; |
| |
| |
| /** |
| * @since 2.2.0 |
| */ |
| @SuppressWarnings("deprecation") |
| public class JDOMJInitializer extends JDOMJMember implements JInitializer |
| { |
| /** |
| * @param initializer |
| */ |
| public JDOMJInitializer(IDOMInitializer initializer) |
| { |
| super(initializer); |
| } |
| |
| @Override |
| protected IDOMInitializer getWrappedObject() |
| { |
| return (IDOMInitializer)super.getWrappedObject(); |
| } |
| |
| public String getBody() |
| { |
| String contents = getContents(); |
| int index = contents.indexOf("{"); |
| return index >= 0 ? contents.substring(index) : getWrappedObject().getBody(); |
| } |
| |
| public void setBody(String body) |
| { |
| getWrappedObject().setBody(body); |
| } |
| |
| @Override |
| public String getName() |
| { |
| return getName(this); |
| } |
| |
| @Override |
| protected String computeQualifiedName() |
| { |
| return computeQualifiedName(this); |
| } |
| |
| @Override |
| public String getComment() |
| { |
| String comment = super.getComment(); |
| IDOMNode previousNode = getWrappedObject().getPreviousNode(); |
| if (comment == null && previousNode instanceof IDOMMember) |
| { |
| String text = splitLastComment(previousNode.getContents())[1]; |
| if (text.indexOf("/**") >= 0) |
| { |
| int index = text.lastIndexOf("*/"); |
| if (index > 0) |
| { |
| comment = text.substring(0, index + "*/".length()); |
| } |
| } |
| } |
| return comment; |
| } |
| |
| @Override |
| public String getContents() |
| { |
| String contents = super.getContents(); |
| IDOMNode previousNode = getWrappedObject().getPreviousNode(); |
| if (previousNode instanceof IDOMMember) |
| { |
| contents = splitLastComment(previousNode.getContents())[1] + contents; |
| } |
| return contents; |
| } |
| } |