আমি জ্যাক ওয়ার্টনসের নিবন্ধ ইনলাইন ক্লাসে গ্রেট ডাটাবেস আইডিগুলি তৈরি করুন কোটলিনের ইনলাইন ক্লাসগুলির সাথে রুম ( https://developer.android.com/topic/libraries/architecture/room ) কাজ পাওয়ার চেষ্টা করছি :
@Entity
data class MyEntity(
@PrimaryKey val id: ID,
val title: String
)
inline class ID(val value: String)
এই কক্ষটি সংকলন করার সময় এটি অভিযোগ করে
সত্তা এবং পোজগুলির অবশ্যই একটি ব্যবহারযোগ্য পাবলিক কনস্ট্রাক্টর থাকতে হবে। আপনার খালি কনস্ট্রাক্টর বা কনস্ট্রাক্টর থাকতে পারে যার প্যারামিটারগুলি ক্ষেত্রগুলির সাথে মেলে (নাম এবং প্রকারের মাধ্যমে)।
উত্পন্ন জাভা কোডটি আমি সন্ধান করছি:
private MyEntity(String id, String title) {
this.id = id;
this.title = title;
}
// $FF: synthetic method
public MyEntity(String id, String title, DefaultConstructorMarker $constructor_marker) {
this(id, title);
}
রহস্যজনকভাবে ডিফল্ট নির্মাণকারী এখন ব্যক্তিগত now
(বা ক ) Stringজন্য প্রকার হিসাবে ব্যবহার করার সময় , উত্পন্ন জাভা শ্রেণি নির্মাতাকে প্রত্যাশার মতো দেখায়:idtypealias
public MyEntity(@NotNull String id, @NotNull String title) {
Intrinsics.checkParameterIsNotNull(id, "id");
Intrinsics.checkParameterIsNotNull(title, "title");
super();
this.id = id;
this.title = title;
}
কেউ কি এখন কীভাবে ডিফল্ট কনস্ট্রাক্টরকে সর্বজনীন রাখবেন যখন ডেটা সত্তার সম্পত্তি হিসাবে ইনলাইন ক্লাসগুলি ব্যবহার করার সময়?