| /** |
| * Copyright (c) 2011, 2016 - Loetz GmbH&Co.KG (69115 Heidelberg, Germany) |
| * |
| * All rights reserved. This program and the accompanying materials |
| * are made available under the terms of the Eclipse Public License 2.0 |
| * which accompanies this distribution, and is available at |
| * https://www.eclipse.org/legal/epl-2.0/ |
| * |
| * SPDX-License-Identifier: EPL-2.0 |
| * |
| * Contributors: |
| * Christophe Loetz (Loetz GmbH&Co.KG) - initial implementation |
| * |
| * |
| * This copyright notice shows up in the generated Java code |
| */ |
| package org.eclipse.osbp.infogrid.model.gridsource.util; |
| |
| import org.eclipse.osbp.infogrid.model.gridsource.CxGridNestedField; |
| import org.eclipse.osbp.infogrid.model.gridsource.CxGridNestedPath; |
| import org.eclipse.osbp.infogrid.model.gridsource.CxGridProperty; |
| import org.eclipse.xtext.common.types.JvmType; |
| import org.eclipse.xtext.xbase.lib.StringExtensions; |
| |
| @SuppressWarnings("all") |
| public class Util { |
| public static String calcDotPath(final CxGridProperty property) { |
| CxGridNestedField _path = property.getPath(); |
| boolean _tripleEquals = (_path == null); |
| if (_tripleEquals) { |
| return ""; |
| } |
| return Util.calcDotPath(property.getPath()); |
| } |
| |
| public static String calcDotPath(final CxGridNestedField field) { |
| if (((field == null) || (field.getField() == null))) { |
| return ""; |
| } |
| final String fieldName = Util.toPropertyName(field.getField().getSimpleName()); |
| CxGridNestedPath _path = field.getPath(); |
| String _calcDotPath = null; |
| if (_path!=null) { |
| _calcDotPath=Util.calcDotPath(_path); |
| } |
| final String tail = _calcDotPath; |
| String _xifexpression = null; |
| boolean _isNullOrEmpty = StringExtensions.isNullOrEmpty(tail); |
| boolean _not = (!_isNullOrEmpty); |
| if (_not) { |
| _xifexpression = ((fieldName + ".") + tail); |
| } else { |
| _xifexpression = fieldName; |
| } |
| return _xifexpression; |
| } |
| |
| public static String calcDotPath(final CxGridNestedPath path) { |
| if (((path == null) || (path.getField() == null))) { |
| return ""; |
| } |
| final String fieldName = Util.toPropertyName(path.getField().getSimpleName()); |
| CxGridNestedPath _path = path.getPath(); |
| String _calcDotPath = null; |
| if (_path!=null) { |
| _calcDotPath=Util.calcDotPath(_path); |
| } |
| final String tail = _calcDotPath; |
| String _xifexpression = null; |
| boolean _isNullOrEmpty = StringExtensions.isNullOrEmpty(tail); |
| boolean _not = (!_isNullOrEmpty); |
| if (_not) { |
| _xifexpression = ((fieldName + ".") + tail); |
| } else { |
| _xifexpression = fieldName; |
| } |
| return _xifexpression; |
| } |
| |
| public static JvmType calcLeafType(final CxGridProperty property) { |
| CxGridNestedField _path = property.getPath(); |
| boolean _tripleEquals = (_path == null); |
| if (_tripleEquals) { |
| return null; |
| } |
| return Util.calcLeafType(property.getPath()); |
| } |
| |
| public static JvmType calcLeafType(final CxGridNestedField field) { |
| if (((field == null) || (field.getField() == null))) { |
| return null; |
| } |
| CxGridNestedPath _path = field.getPath(); |
| boolean _tripleNotEquals = (_path != null); |
| if (_tripleNotEquals) { |
| return Util.calcLeafType(field.getPath()); |
| } else { |
| return field.getField().getReturnType().getType(); |
| } |
| } |
| |
| public static JvmType calcLeafType(final CxGridNestedPath path) { |
| if (((path == null) || (path.getField() == null))) { |
| return null; |
| } |
| CxGridNestedPath _path = path.getPath(); |
| boolean _tripleNotEquals = (_path != null); |
| if (_tripleNotEquals) { |
| return Util.calcLeafType(path.getPath()); |
| } else { |
| return path.getField().getReturnType().getType(); |
| } |
| } |
| |
| /** |
| * Normalizes the method name. |
| * |
| * @param simpleName |
| * @return |
| */ |
| public static String toPropertyName(final String simpleName) { |
| if ((simpleName == null)) { |
| return null; |
| } |
| String tempName = null; |
| boolean _isSetter = Util.isSetter(simpleName); |
| if (_isSetter) { |
| tempName = StringExtensions.toFirstLower( |
| simpleName.replaceFirst( |
| "set", "")); |
| } else { |
| boolean _isGetter = Util.isGetter(simpleName); |
| if (_isGetter) { |
| boolean _startsWith = simpleName.startsWith("get"); |
| if (_startsWith) { |
| tempName = StringExtensions.toFirstLower( |
| simpleName.replaceFirst("get", "")); |
| } else { |
| tempName = StringExtensions.toFirstLower( |
| simpleName.replaceFirst("is", "")); |
| } |
| } |
| } |
| return tempName; |
| } |
| |
| public static boolean isGetter(final String simpleName) { |
| if ((simpleName == null)) { |
| return false; |
| } |
| return (simpleName.startsWith("get") || simpleName.startsWith("is")); |
| } |
| |
| public static boolean isSetter(final String simpleName) { |
| return ((simpleName != null) && simpleName.startsWith("set")); |
| } |
| } |