/** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EList<ReferenceTreatment> getAllNestedReferenceTreatments() { if (getReferenceRealization() == null) { return ECollections.emptyEList(); } List<ReferenceTreatment> allReferenceTreatments = Lists.newArrayList(getReferenceRealization().getReferenceTreatments()); Iterable<ReferenceEmbed> referenceEmbeds = Iterables.filter(allReferenceTreatments, ReferenceEmbed.class); Iterable<List<ReferenceTreatment>> nestedReferenceTreatmentsAsList = Iterables.transform(referenceEmbeds, new Function<ReferenceEmbed, List<ReferenceTreatment>>() { @Override public List<ReferenceTreatment> apply(ReferenceEmbed input) { return input.getAllNestedReferenceTreatments(); } }); Iterable<ReferenceTreatment> flatNestedReferenceTreatments = Iterables.concat(nestedReferenceTreatmentsAsList); allReferenceTreatments.addAll(Lists.newArrayList(flatNestedReferenceTreatments)); return ECollections.unmodifiableEList(allReferenceTreatments); }
/** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EList<ReferenceTreatment> getNestedReferenceTreatments() { if (getReferenceRealization() == null) { return ECollections.emptyEList(); } return getReferenceRealization().getReferenceTreatments(); } } // ReferenceEmbedImpl
private void normalizeUserDefinedReferenceEmbed(final ReferenceEmbed embed) { maybeSetReferenceRealization(embed); removeInvalidTreatments(embed.getReferenceRealization().getReferenceTreatments()); ReferenceElement property = embed.getReferenceElement(); if (property != null) { if (!isDefailtRealization(embed)) { // Need to iterate on a copy of NestedReferenceTreatments because it can be modified during // normalization, // e.g. ReferenceLink will be deleted when it's converted to ReferenceEmbed for (ReferenceTreatment treatment : new ArrayList<>( embed.getReferenceRealization().getReferenceTreatments())) { // resolve nested reference treatments maybeConvertReferenceLinkToEmbed(embed, treatment); } } } }