Package org.jetbrains.mps.openapi.model
Class SModelName
- java.lang.Object
- 
- org.jetbrains.mps.openapi.model.SModelName
 
- 
 public final class SModelName extends Object Name of a model is complicated matter, we distinguish qualified/long and simple name, namespace fraction, and optional stereotype fraction of it.[ {namespace} '.'] {simple name} [ '@' {stereotype} ]To avoid use of utility methods scattered around the code that extract certain fractions of the model name, this object gives access to all relevant parts of the name.- Since:
- 3.4
 
- 
- 
Constructor SummaryConstructors Constructor Description SModelName(CharSequence qualifiedName, CharSequence stereotype)SModelName(CharSequence namespace, CharSequence simpleName, CharSequence stereotype)SModelName(String qualifiedCompleteName)
 - 
Method SummaryAll Methods Instance Methods Concrete Methods Modifier and Type Method Description booleanequals(Object obj)StringgetLongName()StringgetNamespace()StringgetSimpleName()StringgetStereotype()StringgetValue()inthashCode()booleanhasStereotype()booleanisEmpty()Covers the case when we constructed aSModelReferencewithSModelIdonly, unaware of actual model name.StringtoString()SModelNamewithoutStereotype()Construct a name with the identical qualified name, and without any stereotype.SModelNamewithStereotype(CharSequence newStereotype)
 
- 
- 
- 
Constructor Detail- 
SModelNamepublic SModelName(@NotNull String qualifiedCompleteName) - Throws:
- IllegalArgumentException- if name contains illegal characters
 
 - 
SModelNamepublic SModelName(@Nullable CharSequence namespace, @NotNull CharSequence simpleName, @Nullable CharSequence stereotype) - Throws:
- IllegalArgumentException- if any component of a model name contains illegal characters
 
 - 
SModelNamepublic SModelName(@NotNull CharSequence qualifiedName, @Nullable CharSequence stereotype) - Throws:
- IllegalArgumentException- if any component of a model name contains illegal characters
 
 
- 
 - 
Method Detail- 
isEmptypublic boolean isEmpty() Covers the case when we constructed aSModelReferencewithSModelIdonly, unaware of actual model name.- Returns:
- trueiff model name is blank.
 
 - 
getValue@NotNull public String getValue() - Returns:
- complete name of the model which includes optional namespace part, model name and optional stereotype, such as 'generator' or 'tests', separated by the '@' character e.g. 'jetbrains.mps.sample.generator.main@generator'
 
 - 
getLongName@NotNull public String getLongName() - Returns:
- qualified model name (namespace and simple name), without stereotype
 
 - 
getSimpleName@NotNull public String getSimpleName() - Returns:
- name of the model without namespace nor stereotype, empty string iff model name is blank.
 
 - 
hasStereotypepublic boolean hasStereotype() - Returns:
- trueiff- getStereotype()would return non-empty value
 
 - 
withStereotype@NotNull public SModelName withStereotype(@Nullable CharSequence newStereotype) - Parameters:
- newStereotype- stereotype for the constructed name, or- nullto indicate new name shall not specify stereotype (identical to- withoutStereotype()
- Returns:
- model name with qualified name identical to this model name and with a given stereotype. May return same instance if new stereotype is the same as actual.
 
 - 
withoutStereotype@NotNull public SModelName withoutStereotype() Construct a name with the identical qualified name, and without any stereotype. May returnthisif there's no stereotype in the actual name (SModelNameis immutable).- Returns:
- model name without a stereotype, never null
 
 
- 
 
-