@Override public String getUserData(/* @Nullable */ String key) { return delegate.getUserData(key); }
protected boolean isUserDataEqual(IEObjectDescription oldObj, IEObjectDescription newObj) { String[] oldKeys = oldObj.getUserDataKeys(); String[] newKeys = newObj.getUserDataKeys(); if (oldKeys.length != newKeys.length) return false; for (String key : oldKeys) { if (!Arrays.contains(newKeys, key)) return false; String oldValue = oldObj.getUserData(key); String newValue = newObj.getUserData(key); if (!Objects.equal(oldValue, newValue)) return false; } return true; } }
public SimpleNameDescription(QualifiedName qName, EObject resolvedObject, IEObjectDescription source) { this.simpleName = qName; this.object = resolvedObject; this.qualifiedName = source.getQualifiedName(); Preconditions.checkArgument(!this.object.eIsProxy()); Preconditions.checkNotNull(this.simpleName); Preconditions.checkNotNull(this.qualifiedName); Map<String, String> userData = null; for (final String key : source.getUserDataKeys()) { if (userData == null) { userData = Maps.newHashMapWithExpectedSize(2); } userData.put(key, source.getUserData(key)); } this.userData = userData; }
@Override public String getUserData(String name) { return delegate.getUserData(name); }
protected boolean equals(IEObjectDescription oldObj, IEObjectDescription newObj) { if (oldObj == newObj) return true; if (oldObj.getEClass() != newObj.getEClass()) return false; if (oldObj.getName() != null && !oldObj.getName().equals(newObj.getName())) return false; if (!oldObj.getEObjectURI().equals(newObj.getEObjectURI())) return false; String[] oldKeys = oldObj.getUserDataKeys(); String[] newKeys = newObj.getUserDataKeys(); if (oldKeys.length != newKeys.length) return false; for (String key : oldKeys) { if (!Arrays.contains(newKeys, key)) return false; String oldValue = oldObj.getUserData(key); String newValue = newObj.getUserData(key); if (oldValue == null) { if (newValue != null) return false; } else if (!oldValue.equals(newValue)) { return false; } } return true; }
protected boolean isNestedType(IEObjectDescription description) { return description.getUserData(IS_NESTED_TYPE) != null; }
public IEObjectDescription apply(IEObjectDescription from) { if (from.getEObjectOrProxy().eIsProxy()) { return from; } InternalEObject result = (InternalEObject) EcoreUtil.create(from.getEClass()); result.eSetProxyURI(from.getEObjectURI()); Map<String, String> userData = null; for (final String key : from.getUserDataKeys()) { if (userData == null) { userData = Maps.newHashMapWithExpectedSize(2); } userData.put(key, from.getUserData(key)); } return EObjectDescription.create(from.getName(), result, userData); } }));
protected int getFlags(IEObjectDescription eObjectDescription) { String value = eObjectDescription.getUserData(KEY); return value == null ? 0 : Integer.parseInt(value); }
public IEObjectDescription apply(IEObjectDescription from) { if (from == null) return null; EObject proxy = from.getEObjectOrProxy(); if (proxy == null) return null; if (proxy.eIsProxy()) return from; InternalEObject result = (InternalEObject) EcoreUtil.create(from.getEClass()); result.eSetProxyURI(EcoreUtil.getURI(from.getEObjectOrProxy())); Map<String, String> userData = null; for(String key: from.getUserDataKeys()) { if (userData == null) { userData = Maps.newHashMapWithExpectedSize(2); } userData.put(key, from.getUserData(key)); } return EObjectDescription.create(from.getName(), result, userData); } }), Predicates.notNull()));
private boolean isNsUriIndexEntry(IEObjectDescription candidate) { return Boolean.TRUE.toString().equalsIgnoreCase(candidate.getUserData("nsURI")); }
public static EObjectDescriptionImpl create(IEObjectDescription desc) { EObjectDescriptionImpl objectDescription = (EObjectDescriptionImpl) BuilderStateFactory.eINSTANCE.createEObjectDescription(); objectDescription.setEClass(desc.getEClass()); objectDescription.setFragment(desc.getEObjectURI().fragment()); objectDescription.setName(desc.getName()); for (String key : desc.getUserDataKeys()) { objectDescription.getUserData().put(key, desc.getUserData(key)); } return objectDescription; } }
protected void appendType(final IEObjectDescription description, Multimap<QualifiedName, IEObjectDescription> owner2nested, StringBuilder classSignatureBuilder) { classSignatureBuilder.append("\npublic "); if(isNestedType(description)) classSignatureBuilder.append("static "); if (description.getEClass() == TypesPackage.Literals.JVM_GENERIC_TYPE) { if (description.getUserData(JvmTypesResourceDescriptionStrategy.IS_INTERFACE) != null) { classSignatureBuilder.append("interface "); } else { classSignatureBuilder.append("class "); } } else if (description.getEClass() == TypesPackage.Literals.JVM_ENUMERATION_TYPE) { classSignatureBuilder.append("enum "); } else if (description.getEClass() == TypesPackage.Literals.JVM_ANNOTATION_TYPE) { classSignatureBuilder.append("@interface "); } String lastSegment = description.getQualifiedName().getLastSegment(); int trimIndex = lastSegment.lastIndexOf('$'); String simpleName = lastSegment.substring(trimIndex + 1); classSignatureBuilder.append(simpleName); String typeParameters = description.getUserData(JvmTypesResourceDescriptionStrategy.TYPE_PARAMETERS); if (typeParameters != null) { classSignatureBuilder.append(typeParameters); } classSignatureBuilder.append("{"); for(IEObjectDescription nested: owner2nested.get(description.getQualifiedName())) { appendType(nested, owner2nested, classSignatureBuilder); } classSignatureBuilder.append("\n}"); }