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

eu.mihosoft.vmf.vmftext.grammar.CodeLocation 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

/**
 * A representation of the immutable model object {@code eu.mihosoft.vmf.vmftext.grammar.CodeLocation}.
 *
 * 
 * 
 *
 */
public interface CodeLocation extends eu.mihosoft.vmf.runtime.core.VObject, Cloneable, eu.mihosoft.vmf.runtime.core.Immutable {


   /**
   * Returns the value of the 'charPosInLine' property.
   *
   * 
   * 
   *
   * @return the value of the 'charPosInLine' property.
   */
 int getCharPosInLine();



   /**
   * Returns the value of the 'index' property.
   *
   * 
   * 
   *
   * @return the value of the 'index' property.
   */
 int getIndex();



   /**
   * Returns the value of the 'line' property.
   *
   * 
   * 
   *
   * @return the value of the 'line' property.
   */
 int getLine();

 

// --------------------------------------------------------------------
// --- Builder methods
// --------------------------------------------------------------------

  public static interface Builder {

    /**
     * Sets the 'charPosInLine' property of this builder.
     * @param charPosInLine value to set
     * @return this builder
     */
    public Builder withCharPosInLine(int charPosInLine);
    /**
     * Sets the 'index' property of this builder.
     * @param index value to set
     * @return this builder
     */
    public Builder withIndex(int index);
    /**
     * Sets the 'line' property of this builder.
     * @param line value to set
     * @return this builder
     */
    public Builder withLine(int line);

  /**
   * Builds a new '{@link eu.mihosoft.vmf.vmftext.grammar.CodeLocation CodeLocation}' instance.
   * @return a new '{@link eu.mihosoft.vmf.vmftext.grammar.CodeLocation CodeLocation}' instance
   */
  public CodeLocation build();


  } // end class Builder

  /**
   * Returns a new builder for creating a '{@link eu.mihosoft.vmf.vmftext.grammar.CodeLocation CodeLocation}' instance.
   * @return a new builder for creating a '{@link eu.mihosoft.vmf.vmftext.grammar.CodeLocation CodeLocation}' instance
   */
  static Builder newBuilder() {
    return __VMF__CodeLocation_Creator.newBuilderInstance();
  } // end newBuilder()


  /**
   * Returns a read-only wrapper of '{@link CodeLocation CodeLocation}'. Since this model object is immutable
   this method does not perform any conversion and returns this object in unmodified form.
   * @return a read-only wrapper of '{@link CodeLocation CodeLocation}'
   */
  CodeLocation asReadOnly();

  /**
   * Returns a deep clone of this object.
   * @return a deep clone of this object
   */
  @Override
  CodeLocation clone() /*throws CloneNotSupportedException*/;

}

class __VMF__CodeLocation_Creator {

static Class builderCls;
static java.lang.invoke.MethodHandles.Lookup lookup;
static java.lang.reflect.Constructor builderConstructor;
static java.lang.invoke.MethodHandle builderConstructorMH;

  static CodeLocation.Builder newBuilderInstance() {
      try {
          if(builderCls==null) {
              builderCls = Class.forName("eu.mihosoft.vmf.vmftext.grammar.impl.CodeLocationImpl$BuilderImpl");

              if(lookup==null) { lookup = java.lang.invoke.MethodHandles.lookup(); }

              builderConstructor = builderCls.getConstructor();
              builderConstructor.setAccessible(true);

              builderConstructorMH = lookup.unreflectConstructor(builderConstructor);
          }

          return (CodeLocation.Builder) builderConstructorMH.invoke();

      } catch (Throwable tr) {
          throw new RuntimeException("Cannot instantiate \"eu.mihosoft.vmf.vmftext.grammar.impl.CodeLocationImpl\"", tr);
      }
    }
}





© 2015 - 2024 Weber Informatics LLC | Privacy Policy