All Downloads are FREE. Search and download functionalities are using the official Maven repository.

eu.mihosoft.vmf.vmftext.grammar.ReadOnlyRuleClass Maven / Gradle / Ivy


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.RuleClass}.
 *
 * 
 * 
 *
 */
public interface ReadOnlyRuleClass extends eu.mihosoft.vmf.runtime.core.VObject, ReadOnlyWithName,ReadOnlyCodeElement, eu.mihosoft.vmf.runtime.core.ReadOnly {

  /**
   * Returns the value of the 'childClasses' containment list.
   *
   * It is bidirectional and its opposite is '{@link ReadOnlyRuleClass#getSuperClass() superClass}'.
   *
   * 
   * 
   *
   * @return the value of the 'childClasses' containment list.
   */
    // generic model type
  public VList getChildClasses();
  

  /**
   * Returns the value of the 'customProperties' containment list.
   *
   * It is bidirectional and its opposite is '{@link ReadOnlyProperty#getParent() parent}'.
   *
   * 
   * 
   *
   * @return the value of the 'customProperties' containment list.
   */
    // generic model type
  public VList getCustomProperties();
  

  /**
   * Returns the value of the 'customRuleAnnotations' containment list.
   *
   * It is bidirectional and its opposite is '{@link ReadOnlyRuleAnnotation#getParent() parent}'.
   *
   * 
   * 
   *
   * @return the value of the 'customRuleAnnotations' containment list.
   */
    // generic model type
  public VList getCustomRuleAnnotations();
  

  /**
   * Returns the value of the 'delegationMethods' containment list.
   *
   * It is bidirectional and its opposite is '{@link ReadOnlyDelegationMethod#getParent() parent}'.
   *
   * 
   * 
   *
   * @return the value of the 'delegationMethods' containment list.
   */
    // generic model type
  public VList getDelegationMethods();
  

   /**
   * Returns the value of the 'model' containment reference.
   *
   * It is bidirectional and its opposite is '{@link ReadOnlyGrammarModel#getRuleClasses() ruleClasses}'.
   *
   * 
   * 
   *
   * @return the value of the 'model' containment reference.
   * @see RuleClass#\setModel(eu.mihosoft.vmf.vmftext.grammar.GrammarModel)
   */
    public ReadOnlyGrammarModel getModel();
 

  /**
   * Returns the value of the 'properties' containment list.
   *
   * It is bidirectional and its opposite is '{@link ReadOnlyProperty#getParent() parent}'.
   *
   * 
   * 
   *
   * @return the value of the 'properties' containment list.
   */
    // generic model type
  public VList getProperties();
  

  /**
  * Returns the value of the 'root' property.
  *
  * 
  * 
  *
  * @return the value of the 'root' property.
  * @see RuleClass#\setRoot(boolean)
  */
   public boolean isRoot();
 

/**
 * Returns the value of the 'superClass' container reference.
 *
 * It is bidirectional and its opposite is '{@link ReadOnlyRuleClass#getChildClasses() childClasses}'.
 *
 * 
 * 
 *
 * @return the value of the 'superClass' container reference.
 * @see RuleClass#\setSuperClass(eu.mihosoft.vmf.vmftext.grammar.RuleClass)
 */
   public ReadOnlyRuleClass getSuperClass();
 

  /**
  * Returns the value of the 'superInterfaces' property.
  *
  * 
  * 
  *
  * @return the value of the 'superInterfaces' property.
  *   */
   public VList getSuperInterfaces();
  
 
 /**
  * Returns a deep clone of this object.
  * @return a deep clone of this object
  */
  @Override
  public ReadOnlyRuleClass clone();

  @Override
  default ReadOnlyRuleClass asReadOnly() {
    return this;
  }

  /**
   * Returns a modifiable deep clone of this object.
   * @return a modifiable deep clone of this object
   */
  RuleClass asModifiable();

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy