The abstract base class for Qore classes.
More...
The abstract base class for Qore classes.
- Restrictions:
- Qore::PO_NO_REFLECTION
This class cannot be instantiated directly and also cannot be directly inherited by user-defined classes.
- Since
- Qore 0.9
◆ constructor()
Qore::Reflection::AbstractClass::constructor |
( |
| ) |
|
Throws an exception if called directly; this class can only be instantiated by builtin subclasses.
- Exceptions
-
ABSTRACTCLASS-CONSTRUCTOR-ERROR | this exception is thrown if this class is constructed directly (also if directly inherited by user classes) |
◆ getDomain()
int Qore::Reflection::AbstractClass::getDomain |
( |
| ) |
|
returns the functional domain of the class (for builtin classes only) as a bitfield of functional_domain_constants
- Code Flags:
- RET_VALUE_ONLY
- Example:
- Returns
- the functional domain of the class (for builtin classes only) as a bitfield of functional_domain_constants
- Exceptions
-
PROGRAM-ERROR | thrown if the Program object holding the class has been destroyed |
- See also
- getDomainStringList()
- Note
- user classes always return 0 here; a value is only returned by builtin classes
◆ getDomainStringList()
list<string> Qore::Reflection::AbstractClass::getDomainStringList |
( |
| ) |
|
returns a list of functional domain strings for the class (for builtin classes only); an empty list is returned for user classes
- Code Flags:
- RET_VALUE_ONLY
- Example:
list<string> l = cls.getDomainStringList();
- Returns
- a list of functional domain strings for the class (for builtin classes only)
- Exceptions
-
PROGRAM-ERROR | thrown if the Program object holding the class has been destroyed |
- See also
- getDomain()
- Note
- user classes always return an empty list here
◆ getHash()
binary Qore::Reflection::AbstractClass::getHash |
( |
| ) |
|
returns a unique binary hash for the class
- Code Flags:
- RET_VALUE_ONLY
- Example:
binary b = cls.getHash();
- Returns
- a unique binary hash for the class
- Exceptions
-
PROGRAM-ERROR | thrown if the Program object holding the class has been destroyed |
◆ getId()
int Qore::Reflection::AbstractClass::getId |
( |
| ) |
|
returns the internal ID of the class which is only valid for the current execution session
- Code Flags:
- RET_VALUE_ONLY
- Example:
if (cls1.getId() == cls2.getId()) {
printf("classes are the same\n");
}
- Returns
- the internal ID of the class which is only valid for the current execution session
- Exceptions
-
PROGRAM-ERROR | thrown if the Program object holding the class has been destroyed |
◆ getLanguage()
string Qore::Reflection::AbstractClass::getLanguage |
( |
| ) |
|
returns the class's programming language
- Code Flags:
- CONSTANT
- Example:
string lang = cls.getLanguage();
- Returns
- the class's programming language
- Exceptions
-
PROGRAM-ERROR | thrown if the Program object holding the class has been destroyed |
- Since
- Qore 1.0.1
◆ getMethod()
AbstractMethod Qore::Reflection::AbstractClass::getMethod |
( |
string |
name | ) |
|
returns the given method or throws an exception if the method does not exist in the local class
- Code Flags:
- RET_VALUE_ONLY
- Example:
AbstractMethod m = cls.getMethod(name);
Searches normal methods (including special methods) and then static methods for the given method name
- Parameters
-
name | the name of the method |
- Returns
- the given method
- Exceptions
-
PROGRAM-ERROR | thrown if the Program object holding the class has been destroyed |
METHOD-ERROR | unknown method |
ENCODING-CONVERSION-ERROR | this exception could be thrown if the string argument is not in the default character encoding and an error occurs during encoding conversion |
- Note
- Methods group variants with the same name; see getVariant() for a method that will return a method variant given the method name and the method variant arguments
- See also
- Class::findMethod() for a similar method that searches theh class hierarchy instead of just the local class
◆ getMethods()
returns a list of all class methods including special and static methods
- Code Flags:
- RET_VALUE_ONLY
- Example:
list<AbstractMethod> l = cls.getMethods();
- Returns
- a list of all class methods including special and static methods
- Exceptions
-
PROGRAM-ERROR | thrown if the Program object holding the class has been destroyed |
◆ getModifierList()
list<string> Qore::Reflection::AbstractClass::getModifierList |
( |
| ) |
|
returns a list of strings of modifiers describing the class
- Code Flags:
- RET_VALUE_ONLY
- Example:
list<string> l = cls.getModifierList();
- Returns
- list of strings of modifiers describing the class; possible values are:
"abstract"
: the class is abstract
"final"
: the class has the final flag set
"public"
: the class has the module public flag set (not related to any inheritance properties in a class hierarchy)
- Exceptions
-
PROGRAM-ERROR | thrown if the Program object holding the class has been destroyed |
- See also
- getModifiers()
◆ getModifiers()
int Qore::Reflection::AbstractClass::getModifiers |
( |
| ) |
|
returns a bitfield of modifiers describing the class
- Code Flags:
- RET_VALUE_ONLY
- Example:
int i = cls.getModifiers();
- Returns
- a bitfield of modifiers describing the class; possible values are:
- MC_ABSTRACT: the class is abstract
- MC_FINAL: the class has the final flag set
- MC_PUBLIC: the class has the module public flag set (not related to any inheritance properties in a class hierarchy)
- Exceptions
-
PROGRAM-ERROR | thrown if the Program object holding the class has been destroyed |
- See also
- getModifierList()
◆ getName()
string Qore::Reflection::AbstractClass::getName |
( |
| ) |
|
returns the class's name
- Code Flags:
- RET_VALUE_ONLY
- Example:
string name = cls.getName();
- Returns
- the class's name
- Exceptions
-
PROGRAM-ERROR | thrown if the Program object holding the class has been destroyed |
- See also
- getPathName()
◆ getParentClasses()
list<hash<ClassAccessInfo> > Qore::Reflection::AbstractClass::getParentClasses |
( |
| ) |
|
Returns a list of immediate parent classes and access information; if the Class has no parent classes, then an empty list is returned.
- Code Flags:
- RET_VALUE_ONLY
- Example:
list<hash<ClassAccessInfo>> l = cls.getParentClasses();
- Returns
- a list of immediate parent classes and access information; if the Class has no parent classes, then an empty list is returned
- Exceptions
-
PROGRAM-ERROR | thrown if the Program object holding the class has been destroyed |
◆ getVariant()
returns the given method variant, otherwise throws an exception if no method variant can be matched
- Code Flags:
- RET_VALUE_ONLY
- Example:
AbstractMethodVariant m = cls.getVariant(name, TypeInt, TypeString);
Searches normal methods (including special methods) and then static methods for the given method name and and then matches the arguments by type to return the variant
- Parameters
-
name | the name of the method |
... | Type arguments giving parameter types |
- Returns
- the given method variant
- Exceptions
-
PROGRAM-ERROR | thrown if the Program object holding the class has been destroyed |
GETVARIANT-ERROR | invalid argument to method |
METHOD-ERROR | unknown method |
VARIANT-MATCH-ERROR | no variant van be found matching the given argument types |
ENCODING-CONVERSION-ERROR | this exception could be thrown if the string argument is not in the default character encoding and an error occurs during encoding conversion |
- See also
-
◆ getVariantArgs()
returns the given method variant, otherwise throws an exception if no method variant can be matched
- Code Flags:
- RET_VALUE_ONLY
- Example:
AbstractMethodVariant m = cls.getVariantArgs(name, (TypeInt, TypeString));
Searches normal methods (including special methods) and then static methods for the given method name and and then matches the arguments by type
- Parameters
-
name | the name of the method |
argv | Type arguments giving parameter types |
- Returns
- the given method variant
- Exceptions
-
PROGRAM-ERROR | thrown if the Program object holding the class has been destroyed |
GETVARIANT-ERROR | invalid argument to method |
METHOD-ERROR | unknown method |
VARIANT-MATCH-ERROR | no variant van be found matching the given argument types |
ENCODING-CONVERSION-ERROR | this exception could be thrown if the string argument is not in the default character encoding and an error occurs during encoding conversion |
- See also
-
◆ getVariants()
returns a list of all class method variants including variants for special and static methods
- Code Flags:
- RET_VALUE_ONLY
- Example:
list<AbstractMethodVariant> l = cls.getVariants();
- Returns
- a list of all class method variants including variants for special and static methods
- Exceptions
-
PROGRAM-ERROR | thrown if the Program object holding the class has been destroyed |
◆ hasMemberGate()
bool Qore::Reflection::AbstractClass::hasMemberGate |
( |
| ) |
|
returns True if the class implements a "memberGate" method
- Code Flags:
- RET_VALUE_ONLY
- Example:
bool b = cls.hasMemberGate();
- Returns
- True if the class implements a "memberGate" method
- Exceptions
-
PROGRAM-ERROR | thrown if the Program object holding the class has been destroyed |
◆ hasMemberNotification()
bool Qore::Reflection::AbstractClass::hasMemberNotification |
( |
| ) |
|
returns True if the class implements a "memberNotification" method
- Code Flags:
- RET_VALUE_ONLY
- Example:
bool b = cls.hasMemberNotification();
- Returns
- True if the class implements a "memberNotification" method
- Exceptions
-
PROGRAM-ERROR | thrown if the Program object holding the class has been destroyed |
◆ hasMethodGate()
bool Qore::Reflection::AbstractClass::hasMethodGate |
( |
| ) |
|
returns True if the class implements a "methodGate" method
- Code Flags:
- RET_VALUE_ONLY
- Example:
bool b = cls.hasMethodGate();
- Returns
- True if the class implements a "methodGate" method
- Exceptions
-
PROGRAM-ERROR | thrown if the Program object holding the class has been destroyed |
◆ isAbstract()
bool Qore::Reflection::AbstractClass::isAbstract |
( |
| ) |
|
returns True if the class has at least one abstract method
- Code Flags:
- RET_VALUE_ONLY
- Example:
bool b = cls.isAbstract();
- Exceptions
-
PROGRAM-ERROR | thrown if the Program object holding the class has been destroyed |
◆ isBuiltin()
bool Qore::Reflection::AbstractClass::isBuiltin |
( |
| ) |
|
returns True if the class is a builtin class
- Code Flags:
- RET_VALUE_ONLY
- Example:
bool b = cls.isBuiltin();
- Exceptions
-
PROGRAM-ERROR | thrown if the Program object holding the class has been destroyed |
◆ isEqual()
bool Qore::Reflection::AbstractClass::isEqual |
( |
AbstractClass |
cls | ) |
|
Returns True if the Class object passed as an argument is equal to the current object; False if not.
- Code Flags:
- RET_VALUE_ONLY
- Example:
- Parameters
-
cls | the class to check with the current object for equality |
- Returns
- True if the Class object passed as an argument is equal to the current object; False if not
- Exceptions
-
PROGRAM-ERROR | thrown if the Program object holding the class has been destroyed |
◆ isInjected()
bool Qore::Reflection::AbstractClass::isInjected |
( |
| ) |
|
returns True if the class was injected as a dependency injection
- Code Flags:
- RET_VALUE_ONLY
- Example:
bool b = cls.isInjected();
- Exceptions
-
PROGRAM-ERROR | thrown if the Program object holding the class has been destroyed |
◆ isModulePublic()
bool Qore::Reflection::AbstractClass::isModulePublic |
( |
| ) |
|
returns True if the class has the module public flag set
- Code Flags:
- RET_VALUE_ONLY
- Example:
bool b = cls.isModulePublic();
- Exceptions
-
PROGRAM-ERROR | thrown if the Program object holding the class has been destroyed |
◆ isPseudoClass()
bool Qore::Reflection::AbstractClass::isPseudoClass |
( |
| ) |
|
returns True if the class is a pseudo-class
- Code Flags:
- RET_VALUE_ONLY
- Example:
bool b = cls.isPseudoClass();
- Exceptions
-
PROGRAM-ERROR | thrown if the Program object holding the class has been destroyed |
◆ isUser()
bool Qore::Reflection::AbstractClass::isUser |
( |
| ) |
|
returns True if the class is a user class
- Code Flags:
- RET_VALUE_ONLY
- Example:
- Exceptions
-
PROGRAM-ERROR | thrown if the Program object holding the class has been destroyed |
The documentation for this class was generated from the following file: