Satisfied Interfaces: Generic, Model, Type<Type>
Direct Known Satisfying Interfaces: ClassModel<Type,Arguments>, InterfaceModel<Type>
All Known Subtypes Hierarchy

- ClassOrInterface
  - ClassModel
    - Class
    - MemberClass
  - InterfaceModel
    - Interface
    - MemberInterface

Model of a class or interface that you can inspect.

The models of classes and interfaces are also closed types.

Attributes
declaration | Source Code shared formal ClassOrInterfaceDeclaration declaration The declaration for this class or interface. Refined declaration: declaration
extendedType | Source Code shared formal ClassModel<Anything,Nothing>? extendedType The extended closed type for this class or interface. Note that the Anything type has no extended type since it is the top of the type hierarchy.
satisfiedTypes | Source Code shared formal InterfaceModel<Anything>[] satisfiedTypes The list of closed types that this class or interface satisfies.

Inherited Attributes
Attributes inherited from: Object hash, string
Attributes inherited from: Generic typeArguments
Attributes inherited from: Model container, declaration

Methods
getAttribute | Source Code shared formal Attribute<Container,Get,Set>? getAttribute<Container = Nothing, Get = Anything, Set = Nothing>(String name) Gets an attribute by name. Returns `null` if not found. Throws: IncompatibleTypeException If the specified `Container`, `Get` or `Set` type arguments are not compatible with the actual result.
getClass | Source Code shared formal MemberClass<Container,Type,Arguments>? getClass<Container = Nothing, Type = Anything, Arguments = Nothing>(String name, Type<Anything>[] types) given Arguments satisfies Anything[] Gets a member class by name. Returns `null` if not found. Throws: IncompatibleTypeException If the specified `Container`, `Type` or `Arguments` type arguments are not compatible with the actual result, or if the corresponding member is not a `MemberClass`. TypeApplicationException If the specified closed type argument values are not compatible with the actual result's type parameters.
getClassOrInterface | Source Code shared formal Member<Container,Kind>? getClassOrInterface<Container = Nothing, Kind = ClassOrInterface<Anything>>(String name, Type<Anything>[] types) given Kind satisfies ClassOrInterface<Anything> Gets a member class or interface by name. Returns `null` if not found. Throws: IncompatibleTypeException If the specified `Container` or `Kind` type arguments are not compatible with the actual result. TypeApplicationException If the specified closed type argument values are not compatible with the actual result's type parameters.
getDeclaredAttribute | Source Code shared formal Attribute<Container,Get,Set>? getDeclaredAttribute<Container = Nothing, Get = Anything, Set = Nothing>(String name) Gets an attribute by name. Returns `null` if not found. Throws: IncompatibleTypeException If the specified `Container`, `Get` or `Set` type arguments are not compatible with the actual result.
getDeclaredClass | Source Code shared formal MemberClass<Container,Type,Arguments>? getDeclaredClass<Container = Nothing, Type = Anything, Arguments = Nothing>(String name, Type<Anything>[] types) given Arguments satisfies Anything[] Gets a member class by name. Returns `null` if not found. Throws: IncompatibleTypeException If the specified `Container`, `Type` or `Arguments` type arguments are not compatible with the actual result, or if the corresponding member is not a `MemberClass`. TypeApplicationException If the specified closed type argument values are not compatible with the actual result's type parameters.
getDeclaredClassOrInterface | Source Code shared formal Member<Container,Kind>? getDeclaredClassOrInterface<Container = Nothing, Kind = ClassOrInterface<Anything>>(String name, Type<Anything>[] types) given Kind satisfies ClassOrInterface<Anything> Gets a member class or interface by name. Returns `null` if not found. Throws: IncompatibleTypeException If the specified `Container` or `Kind` type arguments are not compatible with the actual result. TypeApplicationException If the specified closed type argument values are not compatible with the actual result's type parameters.
getDeclaredInterface | Source Code shared formal MemberInterface<Container,Type>? getDeclaredInterface<Container = Nothing, Type = Anything>(String name, Type<Anything>[] types) Gets a member interface by name. Returns `null` if not found. Throws: IncompatibleTypeException If the specified `Container` or `Type` type arguments are not compatible with the actual result, or if the corresponding member is not a `MemberInterface`. TypeApplicationException If the specified closed type argument values are not compatible with the actual result's type parameters.
getDeclaredMethod | Source Code shared formal Method<Container,Type,Arguments>? getDeclaredMethod<Container = Nothing, Type = Anything, Arguments = Nothing>(String name, Type<Anything>[] types) given Arguments satisfies Anything[] Gets a method by name. Returns `null` if not found. Throws: IncompatibleTypeException If the specified `Container`, `Type` or `Arguments` type arguments are not compatible with the actual result. TypeApplicationException If the specified closed type argument values are not compatible with the actual result's type parameters.
getInterface | Source Code shared formal MemberInterface<Container,Type>? getInterface<Container = Nothing, Type = Anything>(String name, Type<Anything>[] types) Gets a member interface by name. Returns `null` if not found. Throws: IncompatibleTypeException If the specified `Container` or `Type` type arguments are not compatible with the actual result, or if the corresponding member is not a `MemberInterface`. TypeApplicationException If the specified closed type argument values are not compatible with the actual result's type parameters.
getMethod | Source Code shared formal Method<Container,Type,Arguments>? getMethod<Container = Nothing, Type = Anything, Arguments = Nothing>(String name, Type<Anything>[] types) given Arguments satisfies Anything[] Gets a method by name. Returns `null` if not found. Throws: IncompatibleTypeException If the specified `Container`, `Type` or `Arguments` type arguments are not compatible with the actual result. TypeApplicationException If the specified closed type argument values are not compatible with the actual result's type parameters.

Inherited Methods
Methods inherited from: Object equals
Methods inherited from: Type<Type> exactly, subtypeOf, supertypeOf, typeOf