update copyright
[fedora-idea.git] / java / java-impl / src / com / intellij / codeInsight / generation / surroundWith / JavaWithParenthesesSurrounder.java
blobf3a0a850385ab9e3466e517213f52cb7edef3ece
2 /*
3 * Copyright 2000-2009 JetBrains s.r.o.
5 * Licensed under the Apache License, Version 2.0 (the "License");
6 * you may not use this file except in compliance with the License.
7 * You may obtain a copy of the License at
9 * http://www.apache.org/licenses/LICENSE-2.0
11 * Unless required by applicable law or agreed to in writing, software
12 * distributed under the License is distributed on an "AS IS" BASIS,
13 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 * See the License for the specific language governing permissions and
15 * limitations under the License.
17 package com.intellij.codeInsight.generation.surroundWith;
19 import com.intellij.codeInsight.CodeInsightBundle;
20 import com.intellij.openapi.editor.Editor;
21 import com.intellij.openapi.project.Project;
22 import com.intellij.openapi.util.TextRange;
23 import com.intellij.psi.*;
24 import com.intellij.psi.codeStyle.CodeStyleManager;
25 import com.intellij.util.IncorrectOperationException;
27 class JavaWithParenthesesSurrounder extends JavaExpressionSurrounder{
28 public boolean isApplicable(PsiExpression expr) {
29 return true;
32 public TextRange surroundExpression(Project project, Editor editor, PsiExpression expr) throws IncorrectOperationException {
33 PsiManager manager = expr.getManager();
34 PsiElementFactory factory = JavaPsiFacade.getInstance(manager.getProject()).getElementFactory();
35 CodeStyleManager codeStyleManager = CodeStyleManager.getInstance(project);
37 PsiParenthesizedExpression parenthExpr = (PsiParenthesizedExpression)factory.createExpressionFromText("(a)", null);
38 parenthExpr = (PsiParenthesizedExpression)codeStyleManager.reformat(parenthExpr);
39 parenthExpr.getExpression().replace(expr);
40 expr = (PsiExpression)expr.replace(parenthExpr);
41 int offset = expr.getTextRange().getEndOffset();
42 return new TextRange(offset, offset);
45 public String getTemplateDescription() {
46 return CodeInsightBundle.message("surround.with.parenthesis.template");