/* * Copyright 2012 SAP AG * * 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.sap.research.connectivity.gw.parsers; import java.util.ArrayList; import java.util.List; import japa.parser.ast.body.ModifierSet; import japa.parser.ast.body.Parameter; import japa.parser.ast.body.VariableDeclarator; import japa.parser.ast.expr.AnnotationExpr; import japa.parser.ast.expr.NameExpr; public final class JavaSourceParserUtils { public static String translateModifiers(int modifiers) { String returnString = ""; if (ModifierSet.isPrivate(modifiers)) { returnString += "private "; } if (ModifierSet.isProtected(modifiers)) { returnString += "protected "; } if (ModifierSet.isPublic(modifiers)) { returnString += "public "; } if (ModifierSet.isAbstract(modifiers)) { returnString += "abstract "; } if (ModifierSet.isStatic(modifiers)) { returnString += "static "; } if (ModifierSet.isFinal(modifiers)) { returnString += "final "; } if (ModifierSet.isNative(modifiers)) { returnString += "native "; } if (ModifierSet.isStrictfp(modifiers)) { returnString += "strictfp "; } if (ModifierSet.isSynchronized(modifiers)) { returnString += "synchronized "; } if (ModifierSet.isTransient(modifiers)) { returnString += "transient "; } if (ModifierSet.isVolatile(modifiers)) { returnString += "volatile "; } if (!returnString.isEmpty()) returnString = returnString.substring(0, returnString.length()-1); return returnString; } public static String translateThrows(List<NameExpr> throwsExpr) { String throwsTranslated = ""; if (throwsExpr != null) { throwsTranslated = "throws "; for (NameExpr t : throwsExpr) { throwsTranslated += t.toString(); } } return throwsTranslated; } public static String translateAnnotations(List<AnnotationExpr> annotations) { String annotationTranslated = ""; if (annotations != null){ for (AnnotationExpr ann : annotations) { annotationTranslated += ann.toString() + "\n\t"; } } if (annotationTranslated.endsWith("\n\t")) annotationTranslated = annotationTranslated.substring(0, annotationTranslated.length()-2); return annotationTranslated; } public static ArrayList<String> translateParameters(List<Parameter> parameters) { ArrayList<String> parametersTranslated = new ArrayList<String>(); if (parameters != null){ for (Parameter param : parameters) { parametersTranslated.add(param.toString()); } } return parametersTranslated; } public static String translateFieldName(List<VariableDeclarator> variables) { for (VariableDeclarator var : variables) { return var.getId().toString(); } return ""; } public static String translateFieldValue(List<VariableDeclarator> variables) { for (VariableDeclarator var : variables) { if (var.getInit() != null) return var.getInit().toString(); } return ""; } }