eglx.lang package

eglx.http defines an API for accessing details in HTTP messages. 

Table 1. Types
Any and EAny types
   /*******************************************************************
   * The supertype of every Delegate type.                            *
   *******************************************************************/
externalType AnyDelegate extends EAny type ClassType
   static function $EQ(lvalue AnyDelegate in, 
                       rvalue AnyDelegate in) 
                   returns(EBoolean) {@Operation{"=="}};

   static function $NEQ(lvalue AnyDelegate in, 
                        rvalue AnyDelegate in) 
                   returns(EBoolean) {@Operation{"!="}};
end
   /*******************************************************************
   * The supertype of every Enumeration type.                         *
   *******************************************************************/
externalType AnyEnumeration extends EAny type ClassType
   static function $EQ(lvalue AnyEnumeration in,
                       rvalue AnyEnumeration in) 
                   returns(EBoolean) {@Operation{"=="}};

   static function $NEQ(lvalue AnyEnumeration in, 
                        rvalue AnyEnumeration in) 
                   returns(EBoolean) {@Operation{"!="}};
end
   /*******************************************************************
   * The supertype of every Exception type.                           *
   *******************************************************************/
externalType AnyException extends EAny type ClassType
	
   message String; // text that explains the exception 
                   // and that might be in the user's language and locale. 

   messageID String; // unique identifier for condition that caused the exception.
                     // should not be translated or localized. 
end
   /*******************************************************************
   * The supertype of every Record type.                              *
   *******************************************************************/
externalType AnyRecord extends AnyStruct type ClassType {isAbstract=yes} end
   /*******************************************************************
   * The supertype of every Struct type.  For future use with Record. *
   *******************************************************************/
externalType AnyStruct extends AnyValue type ClassType {isAbstract=yes} end
   /*******************************************************************
   * The supertype of every type that represents a set of characters. *
   *******************************************************************/
externalType AnyText extends AnyValue type ClassType {isAbstract=yes} end
   /********************************************************************
   * The supertype of every value type, not reference type             *
   ********************************************************************/
externalType AnyValue extends EAny type ClassType {isAbstract=yes} end
BasicProgram stereotype
Bigint and EBigint types
Boolean and EBoolean types
Constants library
   /*********************************************************************
   * Marks a type that must be available in content assist.            *
   **********************************************************************/
Record ContentAssist type Annotation
{
   targets = [ ElementKind.ExternalTypePart ]
}
end
DateTimeLib external type
   /*********************************************************************
   * The supertype of all other types; can reference any type of value. *
   *********************************************************************/
externalType EAny type ClassType

   /* {@Operation ==} compares two values of type any.                 */
   static function $EQ(lvalue EAny in, rvalue EAny in)
      returns(EBoolean) {@Operation{"=="}};

   /* {@Operation !=} compares two values of type any.                 */
   static function $NEQ(lvalue EAny in, rvalue EAny in) 
      returns(EBoolean) {@Operation{"!="}};

   /* {@Operation widen} Converts to an any, as used in boxing         */
   static function asAny(value EAny in) 
      returns(EAny) {@Operation{"widen"}};
end
EGLProperty
EventListener annotation
   /*******************************************************************
   * The stereotype for all exceptions.                               *
   *******************************************************************/
Record Exception type Annotation
{
   targets = [ElementKind.recordPart],
   @Stereotype { defaultSuperType = AnyException }
}
end
Exception Record types in eglx.lang
   /*******************************************************************
   * Identifies an alias for the name of a field or function in an    *
   * external type. You must use this if the name is not a valid      *
   * EGL identifier.                                                  *
   *******************************************************************/
Record ExternalName type Annotation
{
   targets = [
      ElementKind.FieldMbr,
      ElementKind.FunctionMbr
   ]
}
   value String;
end
Float and EFloat types
Int and EInt types
List and EList types
MathLib external type
Record NativeType type Annotation { 
   targets = [ElementKind.ExternalTypePart],
   @Stereotype { memberAnnotations = [EventListener] }}
end
/**
 * Put Property on a field of an ExternalType to indicate that it should always 
 * be accessed through getter and/or setter functions in generated code.  If only
 * getMethod is set, the field is read-only. 
 */
Record Property type Annotation
{
	targets = [ElementKind.FieldMbr]
}
	getMethod String;
	setMethod String;
end
Number and ENumber type
Resource annotation
Smallfloat and ESmallfloat types
Smallint and ESmallint types
String and EString types
StringLib external type
SysLib system library
Table 2. Compatibility
Target Issue
Java See type-specific topics.
JavaScript See type-specific topics.