ClassReflection<O> class abstract

Base for Class reflection.

Inheritance
Implemented types

Constructors

ClassReflection(Type classType, String className, [O? object])

Properties

asTypeReflection → TypeReflection<O>
Returns reflectedType as a TypeReflection.
no setterinherited
canCreateInstanceWithoutArguments → bool
Returns true if createInstance can return an instantiated instance without any constructor argument.
no setter
classAnnotations → List<Object>
Returns a const List of class annotations.
no setteroverride
className → String
The reflected class name (without minification).
final
classType → Type
The reflected class Type.
final
constructorsNames → List<String>
Returns a const List of constructors names.
no setter
fieldsJsonNameAliases → Map<String, String>
Returns a Map with the fields names aliases.
no setter
fieldsJsonNameAliasesReverse → Map<String, String>
A reverse Map (value, key) of fieldsJsonNameAliases.
no setter
fieldsNames → List<String>
Returns a const List of fields names.
no setteroverride
fieldsWithJsonFieldHidden → List<FieldReflection<O, dynamic>>
Returns the fields with a JsonField.hidden.
no setter
fieldsWithJsonFieldVisible → List<FieldReflection<O, dynamic>>
Returns the fields with a JsonField.visible.
no setter
fieldsWithJsonNameAlias → List<FieldReflection<O, dynamic>>
Returns the fields with a valid JsonFieldAlias.
no setter
hasDefaultConstructor → bool
Returns true if the class has a default constructor.
no setter
hasEmptyConstructor → bool
Returns true if the class has an empty constructor.
no setter
hasFieldWithoutSetter → bool
Returns true if some field doesn't have a setter (ignoring hashCode).
no setter
hasFinalField → bool
Returns true if some field is final (ignoring hashCode).
no setter
hashCode → int
The hash code for this object.
no setterinherited
hasJsonConstructor → bool
Returns true if some constructor has a JsonConstructor annotation.
no setter
hasJsonConstructorMandatory → bool
Returns true if some constructor has a JsonConstructor.mandatory annotation.
no setter
hasJsonFieldHidden → bool
Returns true if any field uses a JsonField.hidden.
no setter
hasJsonFieldVisible → bool
Returns true if any field uses a JsonField.visible.
no setter
hasJsonNameAlias → bool
Returns true if any field or constructor parameter uses a JsonFieldAlias.
no setter
hasMethodToJson → bool
no setter
hasNoRequiredArgsConstructor → bool
Returns true if the class has a constructor without required arguments.
no setter
hasObject → bool
Returns true if this instances has an associated object (O).
no setteroverride
jsonConstructors → List<ConstructorReflection<O>>
no setter
jsonConstructorsMandatory → List<ConstructorReflection<O>>
no setter
languageVersion → Version
Returns the Dart language Version of the reflected code.
no setteroverride
methodsNames → List<String>
Returns a const List of methods names.
no setter
object → O?
final
reflectedType → Type
The reflected type by this implementation.
no setteroverride
reflectionFactoryVersion → Version
Returns reflection_factory Version used to generate this reflection code.
no setteroverride
reflectionLevel → int
The reflection level (complexity).
no setteroverride
reflectionName → String
The reflected type name by this implementation. See reflectedType.
no setteroverride
runtimeType → Type
A representation of the runtime type of the object.
no setterinherited
staticFieldsNames → List<String>
Returns a const List of static fields names.
no setter
staticMethodsNames → List<String>
Returns a const List of static methods names.
no setter
supperTypes → List<Type>
Returns a list of supper types.
no setter
typeInfo → TypeInfo
Returns reflectedType as a TypeInfo.
no setterinherited

Methods

allConstructors() → List<ConstructorReflection<O>>
Returns a List with all constructors ConstructorReflection.
allFields([O? obj]) → List<FieldReflection<O, dynamic>>
Returns a List with all fields FieldReflection.
allMethods([O? obj]) → List<MethodReflection<O, dynamic>>
Returns a List with all methods MethodReflection.
allStaticFields() → List<StaticFieldReflection<O, dynamic>>
Returns a List with all static fields FieldReflection.
allStaticMethods() → List<StaticMethodReflection<O, dynamic>>
Returns a List with all static methods MethodReflection.
callCasted<R>(R function<E>(ClassReflection<E> classReflection)) → R
Calls function with correct casting for ClassReflection.
override
callMethodToJson([O? obj]) → Object?
canSetFields(List<String> fields) → bool
Returns true if all fields can be set using setField.
castCollection(dynamic o, TypeInfo typeInfo, {bool nullable = false}) → Object?
Cast o to a collection represented by typeInfo.
inherited
castIterable(Iterable itr, Type type, {bool nullable = false}) → Iterable?
Cast itr to reflectedType if type == reflectedType or return null.
inherited
castList(List list, Type type, {bool nullable = false}) → List?
Cast list to reflectedType if type == reflectedType or return null.
inherited
castMap(Map map, TypeInfo typeInfo, {bool nullable = false}) → Map?
Cast map keys & values to reflectedType if type == reflectedType or return null.
inherited
castMapKeys(Map map, TypeInfo typeInfo, {bool nullable = false}) → Map?
Cast map keys to reflectedType if type == reflectedType or return null.
inherited
castMapValues(Map map, TypeInfo typeInfo, {bool nullable = false}) → Map?
Cast map values to reflectedType if type == reflectedType or return null.
inherited
castSet(Set set, Type type, {bool nullable = false}) → Set?
Cast set to reflectedType if type == reflectedType or return null.
inherited
compareTo(ClassReflection other) → int
Compares this object to another object.
override
constructor(String constructorName) → ConstructorReflection<O>?
Returns a ConstructorReflection for constructorName.
createInstance() → O?
Creates an instances calling createInstanceWithDefaultConstructor or createInstanceWithEmptyConstructor or createInstanceWithNoRequiredArgsConstructor.
createInstanceFromMap(Map<String, Object?> map, {FieldNameResolver? fieldNameResolver, FieldValueResolver? fieldValueResolver}) → O?
createInstanceWithBestConstructor(Map<String, Object?> map, {FieldNameResolver? fieldNameResolver, FieldValueResolver? fieldValueResolver, bool? allowEmptyConstructors, bool? allowOptionalOnlyConstructors}) → O?
Creates an instance with the constructor returned by getBestConstructorForMap, using map entries as parameters.
createInstanceWithConstructor(ConstructorReflection<O> constructor, Map<String, Object?> map, {FieldNameResolver? fieldNameResolver, FieldValueResolver? fieldValueResolver, OnConstructorInvocationError? onInvocationError}) → O?
Creates an instance with constructor using map entries as parameters.
createInstanceWithConstructorByName(String constructorName, Map<String, dynamic> map, {FieldNameResolver? fieldNameResolver, FieldValueResolver? fieldValueResolver}) → O?
Creates an instance with the constructor with constructorName using map entries as parameters.
createInstanceWithConstructors(List<ConstructorReflection<O>> constructors, Map<String, Object?> map, {FieldNameResolver? fieldNameResolver, FieldValueResolver? fieldValueResolver}) → O?
Creates an instance with one of the constructors, using map entries as parameters.
createInstanceWithDefaultConstructor() → O?
Creates an instance using the default constructor (if present), other wise returns null.
createInstanceWithEmptyConstructor() → O?
Creates an instance using an empty constructor (if present), other wise returns null.
createInstanceWithNoRequiredArgsConstructor() → O?
Creates an instance using a constructor without required arguments (if present), other wise returns null.
disposeCache() → void
Dispose internal caches.
entityFields([O? obj]) → List<FieldReflection<O, dynamic>>
fieldsWhere FieldReflection.isEntityField.
entityFieldsNamesWhere(bool test(FieldReflection<O, dynamic> f), [O? obj, bool jsonName = false]) → Iterable<String>
Returns a List of fields names that matches test.
field<T>(String fieldName, [O? obj]) → FieldReflection<O, T>?
Returns a FieldReflection for fieldName, with the optional associated obj.
fieldResolver<T>(String fieldName) → ElementResolver<FieldReflection<O, T>>
Returns a ElementResolver for a FieldReflection for a field with fieldName.
fieldsNamesWhere(bool test(FieldReflection<O, dynamic> f), [O? obj, bool jsonName = false]) → Iterable<String>
Returns a List of fields names that matches test.
fieldsWhere(bool test(FieldReflection<O, dynamic> f), [O? obj]) → Iterable<FieldReflection<O, dynamic>>
Returns a List of fields FieldReflection that matches test.
fromJson(Object? json, {JsonDecoder? jsonDecoder, bool duplicatedEntitiesAsID = true, bool? autoResetEntityCache}) → O
Returns a class instance from json.
override
fromJsonEncoded(String jsonEncoded) → O
Returns a class instance from jsonEncoded.
override
getBestConstructorFor({Iterable<String> requiredParameters = const <String>[], Iterable<String> optionalParameters = const <String>[], Iterable<String> nullableParameters = const <String>[], Iterable<String> presentParameters = const <String>[], bool jsonName = false}) → ConstructorReflection<O>?
Returns the best ConstructorReflection for requiredParameters, optionalParameters, nullableParameters and presentParameters.
getBestConstructorForMap(Map<String, Object?> map, {FieldNameResolver? fieldNameResolver, FieldValueResolver? fieldValueResolver, bool allowEmptyConstructors = true, bool allowOptionalOnlyConstructors = true}) → ConstructorReflection<O>?
Returns the best constructor to instantiate with map entries.
getBestConstructorsFor({Iterable<String> requiredParameters = const <String>[], Iterable<String> optionalParameters = const <String>[], Iterable<String> nullableParameters = const <String>[], Iterable<String> presentParameters = const <String>[], bool allowEmptyConstructors = true, bool allowOptionalOnlyConstructors = true, bool jsonName = false}) → List<ConstructorReflection<O>>
Returns a List of the best ConstructorReflection for requiredParameters, optionalParameters, nullableParameters and presentParameters.
getBestConstructorsForMap(Map<String, Object?> map, {FieldNameResolver? fieldNameResolver, FieldValueResolver? fieldValueResolver, bool allowEmptyConstructors = true, bool allowOptionalOnlyConstructors = true}) → List<ConstructorReflection<O>>
Returns an unmodifiable List of the best constructors to instantiate with map entries.
getField<T>(String fieldName, [O? obj]) → T?
Returns the field value for fieldName.
getFieldsValues(O? obj, {bool withHashCode = false}) → Map<String, dynamic>
Returns a Map with allFields values.
getJsonFieldsVisibleValues(O? obj, {bool withHashCode = false}) → Map<String, dynamic>
Returns a Map with allFields values without JsonField.hidden.
getStaticField<T>(String fieldName) → T?
Returns the static field value for fieldName.
getStaticInstance() → ClassReflection<O>
Returns the staticInstance of the generated ClassReflection.
getSymbol(String? key) → Symbol?
Returns a const Symbol that can be safely used for named parameters in Function.apply.
inherited
invokeMethod<R>(String methodName, Iterable<Object?>? positionalArguments, [Map<Symbol, Object?>? namedArguments]) → R?
Invokes the method for methodName.
invokeMethodWith<R>(String methodName, O object, Iterable<Object?>? positionalArguments, [Map<Symbol, Object?>? namedArguments]) → R?
Invokes the method for methodName with the associated object.
invokeStaticMethod<R>(String methodName, Iterable<Object?>? positionalArguments, [Map<Symbol, Object?>? namedArguments]) → R?
Invokes the static method for methodName.
method<R>(String methodName, [O? obj]) → MethodReflection<O, R>?
Returns a MethodReflection for methodName, with the optional associated obj.
methodResolver<R>(String methodName) → ElementResolver<MethodReflection<O, R>>
Returns a ElementResolver for a MethodReflection for a method with methodName.
methodsWhere(bool test(MethodReflection<O, dynamic> f), [O? obj]) → Iterable<MethodReflection<O, dynamic>>
Returns a List of methods MethodReflection that matches test.
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
register() → void
Called automatically when instantiated. Registers this reflection into ReflectionFactory.
override
setField<T>(String fieldName, T value, [O? obj]) → void
Sets the field value for fieldName.
setStaticField<T>(String fieldName, T value) → void
Sets the static field value for fieldName.
setupInternalsOf(ClassReflection o) → void
Setups the internal fields of o instance using already computed fields of this. Used by withObject.
setupInternalsWith(ClassReflection o) → void
Setups the internal fields of this instance using already computed fields of o. Used by withObject.
siblingClassReflectionFor<T>({T? obj, Type? type}) → ClassReflection<T>?
Returns a siblingsClassReflection for type, obj or T.
siblingReflectionFor<T>({T? obj, Type? type}) → Reflection<T>?
Returns a Reflection for type, obj or T.
inherited
siblingsClassReflection() → List<ClassReflection>
Returns a List of siblings ClassReflection (declared in the same code unit).
siblingsReflection() → List<Reflection>
Returns a List of siblings Reflection (declared in the same code unit).
inherited
staticField<T>(String fieldName) → StaticFieldReflection<O, T>?
Returns a static FieldReflection for fieldName.
staticFieldResolver<T>(String fieldName) → ElementResolver<StaticFieldReflection<O, T>>
Returns a ElementResolver for a FieldReflection for a static field with fieldName.
staticFieldsWhere(bool test(StaticFieldReflection<O, dynamic> f)) → Iterable<StaticFieldReflection<O, dynamic>>
Returns a List of static fields FieldReflection that matches test.
staticMethod<R>(String methodName) → StaticMethodReflection<O, R>?
Returns a static MethodReflection for methodName.
staticMethodResolver<R>(String methodName) → ElementResolver<StaticMethodReflection<O, R>>
Returns a ElementResolver for a MethodReflection for a static method with methodName.
staticMethodsWhere(bool test(StaticMethodReflection<O, dynamic> f)) → Iterable<StaticMethodReflection<O, dynamic>>
Returns a List of static methods MethodReflection that matches test.
toJson([O? obj, JsonEncoder? jsonEncoder, bool duplicatedEntitiesAsID = false, bool? autoResetEntityCache]) → Object?
Returns a JSON. If the class implements toJson calls it.
override
toJsonEncoded({O? obj, JsonEncoder? jsonEncoder, bool pretty = false, bool duplicatedEntitiesAsID = false}) → String
Returns a JSON encoded. See toJson.
override
toJsonFromFields({O? obj, JsonEncoder? jsonEncoder, bool duplicatedEntitiesAsID = false, bool? autoResetEntityCache}) → Map<String, dynamic>
Returns a JSON Map from fieldsNames, calling getField for each one.
toJsonMap({O? obj, JsonEncoder? jsonEncoder, bool duplicatedEntitiesAsID = false, bool? autoResetEntityCache}) → Map<String, dynamic>?
Returns a JSON Map. If the class implements toJson calls it.
override
toMapFromFields([O? obj]) → Map<String, dynamic>
Returns a Map from fieldsNames, calling getField for each one. See toJsonFromFields if you need a JSON Map (with valid JSON values).
toString() → String
A string representation of this object.
override
withObject([O? obj]) → ClassReflection<O>
Returns a new instances with obj as the associated object (O).
override
withoutObjectInstance() → ClassReflection<O>
Returns a new instances without an object instance.
override

Operators

operator ==(Object other) → bool
The equality operator.
inherited