/** * the '..' operator would be rejected by {@link org.eclipse.xtext.naming.IQualifiedNameConverter.DefaultImpl} * so we have to enable it here. */ @Override public QualifiedName toQualifiedName(String qualifiedNameAsString) { if (criticalOperatorNames.contains(qualifiedNameAsString)) return QualifiedName.create(qualifiedNameAsString); return super.toQualifiedName(qualifiedNameAsString); } }
/** * Splits the given string into segments and returns them as a {@link QualifiedName}. * * @exception IllegalArgumentException * if the input is empty or null. */ public QualifiedName toQualifiedName(String qualifiedNameAsString) { if (qualifiedNameAsString == null) throw new IllegalArgumentException("Qualified name cannot be null"); if (qualifiedNameAsString.equals("")) throw new IllegalArgumentException("Qualified name cannot be empty"); if (Strings.isEmpty(getDelimiter())) return QualifiedName.create(qualifiedNameAsString); List<String> segs = getDelimiter().length() == 1 ? Strings.split(qualifiedNameAsString, getDelimiter() .charAt(0)) : Strings.split(qualifiedNameAsString, getDelimiter()); return QualifiedName.create(segs); }
@Override public boolean createEObjectDescriptions(EObject eObject, IAcceptor<IEObjectDescription> acceptor) { if (eObject instanceof Grammar) { String grammarName = ((Grammar) eObject).getName(); if (!Strings.isEmpty(grammarName)) { QualifiedName qualifiedName = defaultQualifiedNameConverter.toQualifiedName(grammarName); acceptor.accept(EObjectDescription.create(qualifiedName, eObject)); } } else if (eObject instanceof AbstractMetamodelDeclaration || eObject instanceof AbstractRule) return super.createEObjectDescriptions(eObject, acceptor); return eObject instanceof Grammar; } }
@Override public QualifiedName toQualifiedName(String qualifiedNameAsString) { QualifiedName qualifiedName = super.toQualifiedName(qualifiedNameAsString); // workaround for mediaTypes with dots if (qualifiedName.getSegmentCount() >= 2 && qualifiedName.getSegment(0).startsWith("application/")) { //$NON-NLS-1$ return QualifiedName.create(qualifiedNameAsString); } return qualifiedName; } }
public String getDelimiter() { if ((this.qualifiedNameConverter instanceof IQualifiedNameConverter.DefaultImpl)) { return ((IQualifiedNameConverter.DefaultImpl)this.qualifiedNameConverter).getDelimiter(); } else { return "."; } }
/** * Converts the given qualified name to a string. * * @exception IllegalArgumentException * when the qualified name is null. */ public String toString(QualifiedName qualifiedName) { if (qualifiedName == null) throw new IllegalArgumentException("Qualified name cannot be null"); return qualifiedName.toString(getDelimiter()); }