Skip to content
kurapica edited this page Apr 18, 2018 · 30 revisions

Prototype Lua Object-Oriented Program System

Prototype.lua

Prototype

System.Prototype used to get prototype informations System.Attribute used to get attribute informations System.Environment used to get environment informations System.Namespace used to get namespace informations System.Enum used to get enum informations System.Struct used to get struct informations System.Member used to get member informations System.Interface used to get interface informations System.Class used to get class informations System.Event used to get event informations System.Property used to get property informations System.Platform used to get platform settings

Attribute

[[System.Abstract|system___abstract__]] used to set a class, a method or a feature(like event, property) as abstract [[System.AnonymousClass|system___anonymousclass__]] used to make an interface so it should have anonymous class, so the interface can be used to generate objects [[System.AutoIndex|system___autoindex__]] used to generate an auto-index enumeration [[System.Arguments|system___arguments__]] used to build the overload and validation system for methods or functions [[System.Base|system___base__]] used to set a base struct type to the target struct type [[System.Default|system___default__]] used to set the default value of an enum or a custom struct type [[System.Delegate|system___delegate__]] used to wrap the target function within the given function like pcall [[System.EventChangeHandler|system___eventchangehandler__]] used to set the event change handler for an event [[System.Final|system___final__]] used to set a class, an interface, a method or a feature as final [[System.Flags|system___flags__]] used to set the enum as a flags enumeration [[System.Get|system___get__]] used to modify the property's get behaviors, like deep clone [[System.Indexer|system___indexer__]] used to set a property as indexer property that would be used as obj.Items[index] = value [[System.NoNilValue|system___nonilvalue__]] used to mark a class's objects, so access non-existent value from them is denied [[System.NoRawSet|system___norawset__]] used to mark a class's objects, so set value to their non-existent fields is denied [[System.SuperObject|system___superobject__]] used to mark a class or interface, so whether they use super object style like super[self]:xxx() [[System.ObjFuncAttr|system___objfuncattr__]] used to mark a class's objects, so functions that be assigned on them will be modified by the attribute system [[System.ObjectSource|system___objectsource__]] with it the class ojbect will save the source where it's created [[System.Require|system___require__]] used to mark an interface's require class [[System.Sealed|system___sealed__]] used to seal enum, struct, interface and class, so they can't be re-defined [[System.Set|system___set__]] used to modify the property's set behaviors [[System.SingleVer|system___singlever__]] used to mark a class as single version class, so old object will receive re-defined class's new features [[System.Static|system___static__]] used to mark the method or feature as static, so it only be used by the type itself [[System.Super|system___super__]] used to set the target class's super class [[System.Template|system___template__]] make the target struct, interface or class as a template

Enum

System.AttributeTargets contains the attribute target types System.AttributePriority contains the common attribute priorities System.PropertySet contains the property set behaviors System.PropertyGet contains the property get behaviors System.StructCategory contains the struct category

Struct

System.Any represents any value System.Boolean represents boolean value System.String represents string value System.Number represents number value System.Function represents function value System.Table represents table value System.Userdata represents userdata value System.Thread represents thread value System.AnyBool represents anybool value System.NEString represents nestring value System.RawTable represents rawtable value System.Integer represents integer value System.NaturalNumber represents natural number value System.NegativeInteger represents negative interger value System.NamespaceType represents namespace type System.EnumType represents enum type System.StructType represents struct type System.InterfaceType represents interface type System.ClassType represents class type System.AnyType represents any validation type System.Lambda represents lambda value System.Callable represents callable value, like function, callable objecct, lambda System.Variable represents variable value System.Variables represents variables value

Interface

System.IAttribtue used as the interface of attributes System.IInitAttribute use as the interface to modify the target's definition System.IApplyAttribute used as the interface to apply changes on the target System.IAttachAttribute used to attach datas to the target System.ICloneable used as the interface of the object clone System.IEnvironment used as the interface of the code environment System.IContext used to share datas within the context, this is designed for multi-os thread platforms System.Toolset contains several useful apis

Class

System.Delegate normally used as event handlers System.Exception represents errors that occur during application execution System.Module represents the tree containers for codes, it's the recommended environment for coding with PLoop System.Context represents the context used as share storages for objects of the System.IContext System.Runtime represents the runtime informations, like add watch for new generated types

System/Text.lua - provide the interface for encoding

Class

System.Text.Encoding represents the character encoding

System/IO.lua - provides the basic support for input and ouput

Class

System.IO.TextWriter provides the abstract text writer System.IO.TextReader provides the abstract text reader

PLoop/System/Serialization.lua - provides the types for object serialization & deserialization

Attribute

[[System.Serialization.Serializable|system_serialization___serializable__]] indicates a class or custom struct type is serializable [[System.Serialization.NonSerialized|system_serialization___nonserialized__]] indicates a member in struct or a property in class can't be serialized

Struct

System.Serialization.Serializable represents the serializable objects System.Serialization.SerializableType represents the serializable object types

Interface

System.Serialization provide several APIS to serialize object to data or deserialize data to object System.Serialization.ISerializable represents classes that manage the object serialization & deserialization by themselves

Class

System.Serialization.SerializationInfo used by ISerializable classes so they can save or get name-value pairs in it. System.Serialization.FormatProvider provides a format for serialization. Used to serialize the table data to target format or convert the target format data to the table data

System/Date.lua - provide types for date management.

Struct

System.TimeFormat represents valid time format strings

Class

System.Date represent the date object

System/Logger.lua - provide types for log system:

Enum

System.Logger.LogLevel provide log levels

Class

System.Logger provide the management of loggers

System/Collections.lua - provide the interface of collections

Interface

System.Collections.Iterable it's the interface of collections

System/Recycle.lua - provide type for object recycling

Class

System.Recycle used to generate objects and recycle them

System/Threading.lua - provide support for coroutine programming

Attribute

[[System.Threading.Async|system_threading___async__]] used to wrap a method or function to run it within coroutines fetched from thread pool [[System.Threading.Iterator|system_threading___iterator__]] used to wrap a method or function as iterator which is process within coroutines fetched from thread pool

Interface

System.Threading.ILockManager represent an interface for lock manager

Class

System.Threading.ThreadPool used to generate recyclable coroutines for thread or iterator System.Threading.Task represent a task type used to simplify the work of writing asynchronous code

System/Collections/List.lua - provide the collections types for list

Interface

System.Collections.IList represents the list collections that we only care it's elements System.Collections.ICountable represents the countable list collections System.Collections.IIndexedList represents the indexed list collections who can use obj[idx] to access elements

Class

System.Collections.List it's the basic list collection type System.Collections.ListStreamWorker it used to provide stream operations for IList objects.

System/Collections/Dictionary.lua - provide the collections types for dictionary

Interface

System.Collections.IDictionary represents the key-value pair collection types

Class

System.Collections.Dictionary it's the basic dictionary collection type System.Collections.DictionaryStreamWorker it used to provide stream operations for IDictionary objects.

System/Collections/IIndexedListSorter.lua - used to provide several sort method for IIndexedList objects.

System/Collections/Array.lua - it provide the a template class to generate array of objects.

Class

System.Collections.Array you can used it to create object arrays and assign event handlers.

System/Serialization/LuaFormatProvider.lua - provide format for lua data

Class

System.Serialization.LuaFormatProvider it use the lua table as the serialization format

System/Serialization/StringFormatProvider.lua - provide format for string data

Class

System.Serialization.StringFormatProvider it use the string as the serialization format

System/Text/UTF8Encoding.lua - provides the encoding for UTF-8

Class

System.Text.UTF8Encoding represents the UTF-8 encoding

System/Text/UTF16Encoding.lua - provides the encoding for UTF-16

Class

System.Text.UTF16EncodingLE represents the utf-16 encoding with little-endian System.Text.UTF16EncodingBE represents the utf-16 encoding with big-endian.

Clone this wiki locally