# Code generated by Lark OpenAPI. from typing import Any, Optional, Union, Dict, List, Set, IO, Callable, Type from lark_oapi.core.construct import init from .grade_standard_value import GradeStandardValue from .grade_standard_dimension import GradeStandardDimension from .currency import Currency from .i18n import I18n class Grade(object): _types = { "id": str, "tid": str, "serial_number": str, "grade_standard_values": List[GradeStandardValue], "dimensions": List[GradeStandardDimension], "currency": Currency, "description": I18n, "effective_time": str, "standard_grade_version": str, "created_at": str, "updated_at": str, "standard_id": str, "standard_kind": int, } def __init__(self, d=None): self.id: Optional[str] = None self.tid: Optional[str] = None self.serial_number: Optional[str] = None self.grade_standard_values: Optional[List[GradeStandardValue]] = None self.dimensions: Optional[List[GradeStandardDimension]] = None self.currency: Optional[Currency] = None self.description: Optional[I18n] = None self.effective_time: Optional[str] = None self.standard_grade_version: Optional[str] = None self.created_at: Optional[str] = None self.updated_at: Optional[str] = None self.standard_id: Optional[str] = None self.standard_kind: Optional[int] = None init(self, d, self._types) @staticmethod def builder() -> "GradeBuilder": return GradeBuilder() class GradeBuilder(object): def __init__(self) -> None: self._grade = Grade() def id(self, id: str) -> "GradeBuilder": self._grade.id = id return self def tid(self, tid: str) -> "GradeBuilder": self._grade.tid = tid return self def serial_number(self, serial_number: str) -> "GradeBuilder": self._grade.serial_number = serial_number return self def grade_standard_values(self, grade_standard_values: List[GradeStandardValue]) -> "GradeBuilder": self._grade.grade_standard_values = grade_standard_values return self def dimensions(self, dimensions: List[GradeStandardDimension]) -> "GradeBuilder": self._grade.dimensions = dimensions return self def currency(self, currency: Currency) -> "GradeBuilder": self._grade.currency = currency return self def description(self, description: I18n) -> "GradeBuilder": self._grade.description = description return self def effective_time(self, effective_time: str) -> "GradeBuilder": self._grade.effective_time = effective_time return self def standard_grade_version(self, standard_grade_version: str) -> "GradeBuilder": self._grade.standard_grade_version = standard_grade_version return self def created_at(self, created_at: str) -> "GradeBuilder": self._grade.created_at = created_at return self def updated_at(self, updated_at: str) -> "GradeBuilder": self._grade.updated_at = updated_at return self def standard_id(self, standard_id: str) -> "GradeBuilder": self._grade.standard_id = standard_id return self def standard_kind(self, standard_kind: int) -> "GradeBuilder": self._grade.standard_kind = standard_kind return self def build(self) -> "Grade": return self._grade