org.eclipse.xtext.linking.impl
Class Linker

java.lang.Object
  extended by org.eclipse.xtext.linking.impl.AbstractLinker
      extended by org.eclipse.xtext.linking.impl.AbstractCleaningLinker
          extended by org.eclipse.xtext.linking.impl.Linker
All Implemented Interfaces:
ILinker
Direct Known Subclasses:
XtextLinker

public class Linker
extends AbstractCleaningLinker

Author:
Sebastian Zarnekow - Initial contribution and API

Nested Class Summary
protected static class Linker.LinkingDiagnosticContext
           
 
Constructor Summary
Linker()
           
 
Method Summary
protected  void beforeEnsureIsLinked(org.eclipse.emf.ecore.EObject obj, org.eclipse.emf.ecore.EReference ref, IDiagnosticProducer producer)
           
protected  boolean canSetDefaultValues(org.eclipse.emf.ecore.EReference ref)
           
protected  ILinkingDiagnosticMessageProvider.ILinkingDiagnosticContext createDiagnosticContext(org.eclipse.emf.ecore.EObject obj, org.eclipse.emf.ecore.EReference eRef, INode node)
           
protected  IDiagnosticProducer createDiagnosticProducer(IDiagnosticConsumer consumer)
           
protected  void doLinkModel(org.eclipse.emf.ecore.EObject model, IDiagnosticConsumer consumer)
           
protected  void ensureIsLinked(org.eclipse.emf.ecore.EObject obj, INode node, CrossReference ref, java.util.Set<org.eclipse.emf.ecore.EReference> handledReferences, IDiagnosticProducer producer)
           
 void ensureLinked(org.eclipse.emf.ecore.EObject obj, IDiagnosticProducer producer)
           
protected  void ensureModelLinked(org.eclipse.emf.ecore.EObject model, IDiagnosticProducer producer)
           
 ILinkingDiagnosticMessageProvider.Extended getDiagnosticMessageProvider()
           
protected  java.util.List<org.eclipse.emf.ecore.EObject> getLinkedObject(org.eclipse.emf.ecore.EObject obj, org.eclipse.emf.ecore.EReference eRef, INode node)
           
 LinkingHelper getLinkingHelper()
           
 ILinkingService getLinkingService()
           
protected  boolean isNullValidResult(org.eclipse.emf.ecore.EObject obj, org.eclipse.emf.ecore.EReference eRef, INode node)
           
protected  void setDefaultValue(org.eclipse.emf.ecore.EObject obj, org.eclipse.emf.ecore.EReference ref, IDiagnosticProducer producer)
           
protected  void setDefaultValueImpl(org.eclipse.emf.ecore.EObject obj, org.eclipse.emf.ecore.EReference ref, IDiagnosticProducer producer)
           
 void setDiagnosticMessageProvider(ILinkingDiagnosticMessageProvider.Extended diagnosticMessageProvider)
           
 void setLinkingHelper(LinkingHelper linkingHelper)
           
 void setLinkingService(ILinkingService linkingService)
           
 
Methods inherited from class org.eclipse.xtext.linking.impl.AbstractCleaningLinker
afterModelLinked, beforeModelLinked, clearAllReferences, clearReference, clearReferences, linkModel, shouldCheckParentNode
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

Linker

public Linker()
Method Detail

ensureLinked

public void ensureLinked(org.eclipse.emf.ecore.EObject obj,
                         IDiagnosticProducer producer)

createDiagnosticProducer

protected IDiagnosticProducer createDiagnosticProducer(IDiagnosticConsumer consumer)

canSetDefaultValues

protected boolean canSetDefaultValues(org.eclipse.emf.ecore.EReference ref)

setDefaultValue

protected final void setDefaultValue(org.eclipse.emf.ecore.EObject obj,
                                     org.eclipse.emf.ecore.EReference ref,
                                     IDiagnosticProducer producer)

setDefaultValueImpl

protected void setDefaultValueImpl(org.eclipse.emf.ecore.EObject obj,
                                   org.eclipse.emf.ecore.EReference ref,
                                   IDiagnosticProducer producer)

beforeEnsureIsLinked

protected void beforeEnsureIsLinked(org.eclipse.emf.ecore.EObject obj,
                                    org.eclipse.emf.ecore.EReference ref,
                                    IDiagnosticProducer producer)

ensureIsLinked

protected void ensureIsLinked(org.eclipse.emf.ecore.EObject obj,
                              INode node,
                              CrossReference ref,
                              java.util.Set<org.eclipse.emf.ecore.EReference> handledReferences,
                              IDiagnosticProducer producer)

createDiagnosticContext

protected ILinkingDiagnosticMessageProvider.ILinkingDiagnosticContext createDiagnosticContext(org.eclipse.emf.ecore.EObject obj,
                                                                                              org.eclipse.emf.ecore.EReference eRef,
                                                                                              INode node)

getLinkedObject

protected java.util.List<org.eclipse.emf.ecore.EObject> getLinkedObject(org.eclipse.emf.ecore.EObject obj,
                                                                        org.eclipse.emf.ecore.EReference eRef,
                                                                        INode node)
                                                                 throws IllegalNodeException
Throws:
IllegalNodeException

isNullValidResult

protected boolean isNullValidResult(org.eclipse.emf.ecore.EObject obj,
                                    org.eclipse.emf.ecore.EReference eRef,
                                    INode node)

getLinkingService

public ILinkingService getLinkingService()

setLinkingService

public void setLinkingService(ILinkingService linkingService)

doLinkModel

protected void doLinkModel(org.eclipse.emf.ecore.EObject model,
                           IDiagnosticConsumer consumer)
Specified by:
doLinkModel in class AbstractCleaningLinker

ensureModelLinked

protected void ensureModelLinked(org.eclipse.emf.ecore.EObject model,
                                 IDiagnosticProducer producer)

setDiagnosticMessageProvider

public void setDiagnosticMessageProvider(ILinkingDiagnosticMessageProvider.Extended diagnosticMessageProvider)

getDiagnosticMessageProvider

public ILinkingDiagnosticMessageProvider.Extended getDiagnosticMessageProvider()

getLinkingHelper

public LinkingHelper getLinkingHelper()

setLinkingHelper

public void setLinkingHelper(LinkingHelper linkingHelper)