Class ConceptInfo
- java.lang.Object
 - 
- jetbrains.mps.persistence.registry.ConceptInfo
 
 
- 
- All Implemented Interfaces:
 Comparable<ConceptInfo>
public final class ConceptInfo extends Object implements Comparable<ConceptInfo>
Tracks meta-information relevant to persistence of concept instances in a given model. Keeps only meta-properties and meta-references actually employed in the model. Methods #find() provide access to information kept; methods #addProperty(), #addLink() unconditionally add information about meta attribute to concept info, while methods #registerProperty, #registerLink() perform a check if specified property is already registered. I.e. from the code that operates with node instances (may encounter few uses of the same SProperty), use #registerProperty(); when the meta-info registry is read back (with single property element), use #addProperty(); 
- 
- 
Method Summary
 
 - 
 
- 
- 
Method Detail
- 
getConceptId
public SConceptId getConceptId()
 
- 
getPropertiesInUse
public List<PropertyInfo> getPropertiesInUse()
 
- 
getAssociationsInUse
public List<AssociationLinkInfo> getAssociationsInUse()
 
- 
getAggregationsInUse
public List<AggregationLinkInfo> getAggregationsInUse()
 
- 
getName
public String getName()
 
- 
getBriefName
public String getBriefName()
Towards non-qualified concept names: meanwhile use in binary persistence only. Once it's ok, use this name as the only one (i.e. in xml persistence, too) 
- 
getScope
public StaticScope getScope()
 
- 
getKind
public ConceptKind getKind()
 
- 
getStubCounterpart
@Nullable public SConceptId getStubCounterpart()
 
- 
setStubCounterpart
public void setStubCounterpart(@Nullable SConceptId stub)
 
- 
constructStubConceptName
public String constructStubConceptName()
 
- 
isImplementation
public boolean isImplementation()
 
- 
isImplementationWithStub
public boolean isImplementationWithStub()
- Returns:
 trueiff has both appropriate kind and knows stub concept (absence of stub concept is treated as implementation)
 
- 
getImplementationKindText
@NotNull public String getImplementationKindText()
- Returns:
 - value suitable for nodeInfo attribute of node element, text that describes concept's InterfacePart/ImplementationPart kind (ConceptKind) and StaticScope
 
 
- 
setImplementationKind
public void setImplementationKind(StaticScope scope, ConceptKind kind)
 
- 
addProperty
public PropertyInfo addProperty(SPropertyId propertyId, String name)
 
- 
addLink
public AssociationLinkInfo addLink(SReferenceLinkId linkId, String roleName)
 
- 
addLink
public AggregationLinkInfo addLink(SContainmentLinkId linkId, String roleName, boolean unordered)
 
- 
knows
public boolean knows(@NotNull SPropertyId property)
 
- 
knows
public boolean knows(@NotNull SReferenceLinkId link)
 
- 
knows
public boolean knows(@NotNull SContainmentLinkId link)
 
- 
compareTo
public int compareTo(@NotNull ConceptInfo o)
- Specified by:
 compareToin interfaceComparable<ConceptInfo>
 
- 
getIndex
public String getIndex()
 
- 
getIntIndex
public int getIntIndex()
 
- 
setIntIndex
public void setIntIndex(int index)
 
- 
ltoi
protected static final int ltoi(long l)
 
- 
unsigned
protected static final int unsigned(int i)
 
 - 
 
 -