Package jetbrains.mps.smodel
Class DynamicReference
- java.lang.Object
 - 
- jetbrains.mps.smodel.SReference
 - 
- jetbrains.mps.smodel.SReferenceBase
 - 
- jetbrains.mps.smodel.DynamicReference
 
 
 
 
- 
- All Implemented Interfaces:
 SReference
public class DynamicReference extends SReferenceBase
FIXME Either stop extendingSReferenceBase(there's no use of its mature/young myImmatureTargetNode and myTargetModelReference) or move respective fields/code intoStaticReferencesubclass (then, j.m.smodel.SReference shall cease as it (a) confusing with openapi counterpart; (b) duplicatesSReferenceBaseJFI, there's code that filters node references based onSReferenceBasee.g. to setTargetSModelReference, shall decide if it's correct with respect to the aforementioned change in superclass Igor Alshannikov Dec 10, 2007 
- 
- 
Nested Class Summary
Nested Classes Modifier and Type Class Description static classDynamicReference.DynamicReferenceOrigin- 
Nested classes/interfaces inherited from class jetbrains.mps.smodel.SReference
SReference.ProblemDescription 
 - 
 
- 
Field Summary
- 
Fields inherited from class jetbrains.mps.smodel.SReferenceBase
myImmatureTargetNode 
- 
Fields inherited from class jetbrains.mps.smodel.SReference
EMPTY_ARRAY, mySourceNode 
 - 
 
- 
Constructor Summary
Constructors Constructor Description DynamicReference(String role, SNode sourceNode, SModelReference targetModelReference, String resolveInfo)Deprecated.DynamicReference(SReferenceLink role, SNode sourceNode, SModelReference targetModelReference, String resolveInfo) 
- 
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static DynamicReferencecreateDynamicReference(SReferenceLink role, SNode sourceNode, String modelName, String resolveInfo)DynamicReference.DynamicReferenceOrigingetOrigin()protected SNodegetTargetNode_internal()SNodeReferencegetTargetNodeReference()Builds and returns a reference to the target node.SModelReferencegetTargetSModelReference()The following two operations are defined only for references which can instantly respond to the request (e.g.voidsetOrigin(DynamicReference.DynamicReferenceOrigin origin)- 
Methods inherited from class jetbrains.mps.smodel.SReferenceBase
getResolveInfo, isDirect, makeIndirect, makeIndirect, makeMature, setTargetSModelReference 
- 
Methods inherited from class jetbrains.mps.smodel.SReference
create, create, create, create, create, disableLogging, enableLogging, error, getLink, getResolveInfo, getRole, getSourceNode, getTargetNode, getTargetNodeId, getTargetNodeSilently, makeDirect, setResolveInfo 
 - 
 
 - 
 
- 
- 
Constructor Detail
- 
DynamicReference
@Deprecated public DynamicReference(@NotNull String role, @NotNull SNode sourceNode, @Nullable SModelReference targetModelReference, String resolveInfo)
Deprecated. 
- 
DynamicReference
public DynamicReference(@NotNull SReferenceLink role, @NotNull SNode sourceNode, @Nullable SModelReference targetModelReference, String resolveInfo)
 
 - 
 
- 
Method Detail
- 
createDynamicReference
public static DynamicReference createDynamicReference(@NotNull SReferenceLink role, @NotNull SNode sourceNode, @Nullable String modelName, String resolveInfo)
 
- 
getTargetSModelReference
public SModelReference getTargetSModelReference()
Description copied from interface:SReferenceThe following two operations are defined only for references which can instantly respond to the request (e.g. they store the target model reference and/or node id as a part of the reference).- Specified by:
 getTargetSModelReferencein interfaceSReference- Specified by:
 getTargetSModelReferencein classSReferenceBase- Returns:
 - target model reference (if available)
 
 
- 
getTargetNode_internal
protected SNode getTargetNode_internal()
- Specified by:
 getTargetNode_internalin classSReference
 
- 
getTargetNodeReference
public SNodeReference getTargetNodeReference()
Description copied from interface:SReferenceBuilds and returns a reference to the target node. Tries to avoid lengthy computations whenever possible. Does exactly the same as getTargetNode().getReference(), but probably faster.- Specified by:
 getTargetNodeReferencein interfaceSReference- Overrides:
 getTargetNodeReferencein classSReference
 
- 
getOrigin
@Nullable public DynamicReference.DynamicReferenceOrigin getOrigin()
 
- 
setOrigin
public void setOrigin(@Nullable DynamicReference.DynamicReferenceOrigin origin)
 
 - 
 
 -