/** * Returns the string used to represent this parameter * * @param parameter a parameter * @return the string used to represent this parameter */ public static String getLabel(Parameter parameter) { StringBuffer buffer = new StringBuffer(); // visibility buffer.append(" "); // $NON-NLS-1$ buffer.append(NamedElementUtil.getVisibilityAsSign(parameter)); // direction buffer.append(" "); // $NON-NLS-1$ buffer.append(parameter.getDirection().getLiteral()); // name buffer.append(" "); // $NON-NLS-1$ if (parameter.getName() != null) { buffer.append(parameter.getName()); } // type if (parameter.getType() != null) { EList<Namespace> namespaces = parameter.allNamespaces(); buffer.append( " : " + getTypeLabel( parameter.getType(), namespaces.get(namespaces.size() - 1))); // $NON-NLS-1$ } else { buffer.append(" : " + TypeUtil.UNDEFINED_TYPE_NAME); // $NON-NLS-1$ } // multiplicity -> do not display [1] String multiplicity = MultiplicityElementUtil.getMultiplicityAsString(parameter); if (!multiplicity.trim().equals("[1]")) { // $NON-NLS-1$ buffer.append(multiplicity); } // default value if (parameter.getDefault() != null) { buffer.append(" = "); // $NON-NLS-1$ buffer.append(parameter.getDefault()); } // property modifiers buffer.append(ParameterUtil.getModifiersAsString(parameter, false)); buffer.append(getEffectAsString(parameter)); return buffer.toString(); }