Documentation for SOOP API Library v1.0
Table of Contents

Introduction

Simplistic Object Oriented Programming (SOOP) API Library
Version 1.0 Beta
Created by: Mario Steele 
 Website: http://enchantedblade.trilake.net/ 

Filename: soop.e Details: This includes the entire soop system for use in the language.

SOOP is a Object Oriented Programming library, that is a basic re-write of the entire PHPized Object Oriented Library. This library still uses the basics of what POOP has entailed, with function such as Class(), new(), method_func(), and so on. It's been renamed, and re-organized, to be easier to maintain, as well as readability to the end user.

SOOP is split up into several files, which deal with each section of the SOOP Architecture. When you want to use SOOP, you simply include soop.e into your program, and everything will be ready for you.

SOOP is free to re-distribute, modify, or hack in general to your liking. However, any redistributions of the SOOP library require that you clearly mark in the library what section of code you modified, and a modified copy of the source code be re-submitted to the author of the library.

It is suggested that you look at Documentation Notes before continuing with reading this documentation.

For Release Notes, see relnotes.txt


Table of Contents

Topic

Description

IndexAlphabetical list of all items.
Class DefinitionThe core of structuring Data and Routines in SOOP
Class Low Level RoutinesThese are Low Level Routines specifically for use with the Class Definition system.
Data Type Low LevelThe Core of how Data Types Work
Data Type SystemThe new way to do Types!
Documentation NotesGeneral Notes about how the Documentation is written.
Object Low Level RoutinesLow level routines that deal with the Object Enviroment
Object ManipulationRoutines for Creating, Manipulating and Destroying Class Objects.
PolymorphismInformation for how SOOP handles Polymorphism
SOOP ConstantsConstants used throughout the SOOP library
SOOP Data TypesData Types implemented for the SOOP Library.
SOOP DebugA Class built on SOOP to display Debug Information
SOOP Low Level APIA general warning about Low Level API in SOOP
SOOP Low Level RoutinesLow Level routines for use in the SOOP Library, and others.

Index

Assignment [proc] Associates a Routine ID as an Assignment Call.
ATOM [const] Euphoria's Atomic Data Type
Class [proc] Begins a Class Definition.
Class [proc] This writes a String to the file defined in the SOOP Debug Class Object.
Class Definition
Class Low Level Routines
ClassType [func] Returns the Class Name of the Object Instance.
Constructor [proc] Adds RoutineID to the list of Constructors for a class.
Data Type Low Level
Data Type System
DataType [proc] This begins the definition of a Data Type
DataTypeID [proc] Returns the Data Type ID for use.
DataType_AllowPointer [func] Check to see if a DataType allows a Pointer to be returned.
DataType_FreeVar [proc] Releases the resources for the DataType variable space.
DataType_GetTypeName [func] Returns the Data Type's name, as defined.
DataType_InitVar [func] Initalizes the Data Type for use.
DataType_Retrive [func] This retrives the actual data stored in a Data Type
DataType_Store [func] Calls the handler for the Assignment of data.
DBG_CLASS [const] Tells the debug class to output debug information from the Class enviroment.
DBG_OBJECT [const] Tells the debug class to output debug information from the Object enviroment.
debug_file [proc] Stores a filename for use with the Debug Class.
Deconstructor [proc] Adds RoutineID to the list of Deconstructors for a class.
Documentation Notes
EndClass [proc] Terminates the Class Definition Block your currently in.
EndDataType [proc] Ends the DataType Definition
Inherit [proc] Allows the current class to Inherit attributes from a parent class.
INTEGER [const] Euphoria's Integer Data Type
Member [proc] Declares MemberName in the current Class Definition, of DataType.
Method [proc] Attaches a Euphoria Routine to a Class Definition.
method_call_back [func] This creates a Method Call Back ID for use with External Libraries.
method_func [func] Calls a Method on a Object Instance
method_id [func] Creates a Method ID on a Method declared on an Object Instance.
method_proc [proc] Calls a Method on a Object Instance.
new [func] Creates a New object given by Class, and returns it's instance if successfully created.
NoPointer [proc] Dis-allows for Pointer Retrival.
oallocate [func] Stores the Object Instance into Memory
OBJECT [const] Euphoria's Object Data Type
Object [proc] This writes a String to the file defined in the SOOP Debug Class Object.
Object Low Level Routines
Object Manipulation
odecode [func] Converts an Object Instance back from a ASCII Encoded Sequences Flat String.
oencode [func] Converts an Object Instance into an ASCII Encoded Sequence Flat String.
oget [func] This returns the data stored in a Member of Object.
olast [func] Returns the last data retrived with oget() on the object instance.
opeek [func] Reads a Object Instance Data from a Memory Location
oread [func] Reads a Object stored in a file, back into a Instance in Memory.
oset [proc] Stores data into a Member on a Object Instance.
owrite [proc] Writes an Object Instance to File.
Polymorphism
recycle [proc] Destroys a Object Instance given.
Retrival [proc] Associates a Routine ID as an Retrival Call.
sClass [func] This returns a Printable String of the SOOP Enviroment for debugging purposes.
SEQUENCE [const] Euphoria's Sequence Data Type
sObject [func] This returns a Printable String of the SOOP Enviroment for debugging purposes.
SOOP Constants
SOOP Data Types
SOOP Debug
SOOP Low Level API
SOOP Low Level Routines
soop_adderror [func]
soop_ClassIX [func] Shorthand way to get the Class' instance in the class table.
soop_EnumClasses [func] Returns the list of currently defined Classes
soop_EnumConstruct [func] Retrives the Construct Routines for the Given Class.
soop_EnumDeconstruct [func] Similar to soop_EnumConstruct()
soop_EnumMembers [func] Returns the list of Members defined on the given Class.
soop_EnumMethods [func] Returns the Declared Methods on a Class.
soop_error [proc] Internal SOOP Error Routine.
soop_fast_merge [func]
soop_fast_merge_add [func]
soop_iff [func]
soop_IsString [func] Returns True if the Sequence given is a ASCII Printable string
soop_MemberType [func] Returns the Data Type of a Member
soop_MemberTypeName [func] Returns the DataType name for a Member
soop_MethodRID [func] Returns the Routine ID of a Method
soop_OBJ_ClassIX [func] Returns the Class Instance associated with an Object.
soop_OBJ_EnumMembers [func] Returns a List of Members on an Object.
soop_OBJ_MemberVal [func] Returns the Value of a Member on an Object.
soop_OBJ_Num [func] Returns the Number of objects in memory
soop_reverse [func]
soop_sprints [func] Converts a Sequence Data into a ASCII Printable String
soop_ValidClass [func] Validates weither the Class Name given has been defined or not.
STRING [const] A C-Style String Data Type
this [const] Refers to the current object in question in methods.
ValidObject [func] This function determins weither or not a Object is Valid.
VarFree [proc] Associates a Routine ID as an Freeing Call.
VarInit [proc] Associates a Routine ID as an Initalization Call.
with_crash_routine [proc] Enables Crash Routine Support (2.5+)
with_debug [proc] Initalizes the DEBUG Class, and stores the Default Values
write [proc] This writes the enviroment based on the flags given in the SOOP Debug Class Object.