Implements<T> class
Null safety
Marks a union type to implement the interface stringType or type T.
In the case below City
will implement AdministrativeArea<Hoouse>
.
@freezed
abstract class Example with _$Example {
const factory Example.person(String name, int age) = Person;
@Implements<AdministrativeArea<House>>()
const factory Example.city(String name, int population) = City;
}
If interface is generic the Implements.fromString
constructor must be used
otherwise freezed will generate correct codee but dart will throw a load
error on the annotation declaration.
Note: You need to make sure that you comply with the interface requirements by implementing all the abstract members. If the interface has no members or just fields you can fulfil the interface contract by adding them in the constructor of the union type. Keep in mind that if the interface defines a method or a getter, that you implement in the class, you need to use the Custom getters and methods instructions.
Constructors
- Implements()
-
Marks a union type to implement the interface T.
const
- Implements.fromString(String? stringType)
-
Marks a union type to implement the interface stringType. This
constructor must be used when implementing a generic class with a generic
type parameter e.g.
AdministrativeArea<T>
otherwise dart will throw a load error when compiling the annotation.const
Properties
- hashCode → int
-
The hash code for this object.
read-onlyinherited
- runtimeType → Type
-
A representation of the runtime type of the object.
read-onlyinherited
- stringType → String?
-
final
Methods
-
noSuchMethod(
Invocation invocation) → dynamic -
Invoked when a non-existent method or property is accessed.
inherited
-
toString(
) → String -
A string representation of this object.
inherited
Operators
-
operator ==(
Object other) → bool -
The equality operator.
inherited