eu.mihosoft.vmf.vmftext.grammar.ReadOnlyUPElement Maven / Gradle / Ivy
The newest version!
package eu.mihosoft.vmf.vmftext.grammar;
// vmf imports
// import eu.mihosoft.vmf.runtime.core.*;
import eu.mihosoft.vcollections.*;
// property types imports
// interface
/**
* An read-only representation of the model object {@code eu.mihosoft.vmf.vmftext.grammar.UPElement}.
*
*
*
*
*/
public interface ReadOnlyUPElement extends eu.mihosoft.vmf.runtime.core.VObject, ReadOnlyWithText, eu.mihosoft.vmf.runtime.core.ReadOnly {
/**
* Returns the value of the 'lexerRule' property.
*
*
*
*
* @return the value of the 'lexerRule' property.
* @see UPElement#\setLexerRule(boolean)
*/
public boolean isLexerRule();
/**
* Returns the value of the 'listType' property.
*
*
*
*
* @return the value of the 'listType' property.
* @see UPElement#\setListType(boolean)
*/
public boolean isListType();
/**
* Returns the value of the 'negated' property.
*
*
*
*
* @return the value of the 'negated' property.
* @see UPElement#\setNegated(boolean)
*/
public boolean isNegated();
/**
* Returns the value of the 'parentAlt' container reference.
*
* It is bidirectional and its opposite is '{@link ReadOnlyAlternativeBase#getElements() elements}'.
*
*
*
*
* @return the value of the 'parentAlt' container reference.
* @see UPElement#\setParentAlt(eu.mihosoft.vmf.vmftext.grammar.AlternativeBase)
*/
public ReadOnlyAlternativeBase getParentAlt();
/**
* Returns the value of the 'parserRule' property.
*
*
*
*
* @return the value of the 'parserRule' property.
* @see UPElement#\setParserRule(boolean)
*/
public boolean isParserRule();
/**
* Returns the value of the 'ruleName' property.
*
*
*
*
* @return the value of the 'ruleName' property.
* @see UPElement#\setRuleName(java.lang.String)
*/
public java.lang.String getRuleName();
/**
* Returns the value of the 'terminal' property.
*
*
*
*
* @return the value of the 'terminal' property.
* @see UPElement#\setTerminal(boolean)
*/
public boolean isTerminal();
/**
* Returns a deep clone of this object.
* @return a deep clone of this object
*/
@Override
public ReadOnlyUPElement clone();
@Override
default ReadOnlyUPElement asReadOnly() {
return this;
}
/**
* Returns a modifiable deep clone of this object.
* @return a modifiable deep clone of this object
*/
UPElement asModifiable();
}