انواع املاک خاص

انواع املاک خاص

انواع املاک خاص
علاوه بر انواع داده های پایه، متدهای set() و get*() به شما امکان می دهند ویژگی های خاصی را با رفتار خاصی دستکاری کنید.
ویژگی مرجع
یک ویژگی مرجع، خاصیتی است که ارجاع به یک موجودیت را در شی مدل ذخیره می کند. هر خاصیت مرجع اجازه ارجاع به موجودیت های یک نوع خاص را می دهد که معمولاً توسط تگ موجودیت مشخص می شود. این ویژگی با ارسال تگ شناسایی به متد استاندارد set(<name>,String) و خواندن با استفاده از getString(<name>) تنظیم می شود . اما از آنجایی که این مرجع به جای تگ است که ذخیره می شود، در صورت تغییر تگ موجودیت، مقدار بازگشتی تغییر می کند. اگر موجودیت ارجاع شده به گونه ای حذف یا اصلاح شود که دیگر آن را به یک هدف مجاز برای ویژگی تبدیل نکند، مقدار بازگشتی null یا رشته “none” خواهد بود .
آرایه مرجع
آرایه مرجع آرایه ای از مراجع است که در آن هر موقعیت مانند یک ویژگی مرجع رفتار می کند. تگ‌های موجودیت با استفاده از set(<name>، String[]) یا setIndex (<name>، String) تنظیم می‌شوند و با استفاده از getStringArray (<name>) خوانده می‌شوند . برخی از آرایه های مرجع تعداد خاصی از مراجع را ذخیره می کنند، در حالی که برخی دیگر مجموعه ای از موجودیت ها را نشان می دهند. هنگامی که یک موجودیت ارجاع شده از مدل حذف می شود، از هر ویژگی ارجاعی از نوع دوم نیز حذف می شود.
نقشه رشته
ویژگی نقشه رشته نوع خاصی از ویژگی آرایه رشته ای است که برای تعیین مقداری برای هر کلید در مجموعه معینی از کلیدهای مجاز استفاده می شود. جفت‌های کلید-مقدار به صورت {key, value, key, value, …} در آرایه ذخیره می‌شوند. هنگام تنظیم آرایه با استفاده از set(<name>, String[]) ترتیب جفت ها دلخواه است . مقدار یک کلید خاص را نیز می توان با استفاده از setEntry (نام، <کلید>، <مقدار>) تنظیم کرد . کلیدها ارجاع موارد زیادی به یک موجودیت مدل هستند که با استفاده از تگ موجودیت مشخص شده است. اما ویژگی هایی نیز وجود دارد که به عنوان مثال از تگ های پیشوندی برای موجودیت های انواع مختلف استفاده می کنند.
نقشه کامل حاوی تمام کلیدهای ممکن و مقادیر فعلی آنها توسط getStringArray(name) برگردانده می شود . مقدار یک کلید خاص توسط getString(name, <key>) برگردانده می شود . اگر هیچ مقداری به طور صریح برای یک کلید مشخص تنظیم نشده باشد، یک مقدار پیش فرض برگردانده می شود. پیش فرض ممکن است برای هر کلید متفاوت باشد. مقادیر همچنین ممکن است ارجاعاتی به یک موجودیت مدل باشند.