লম্বোকের একটি সেটার / গেটর ছাড়ছে


232

আমি লম্বোকে একটি ডেটা ক্লাস ব্যবহার করতে চাই। যেহেতু এটির প্রায় এক ডজন ক্ষেত্র রয়েছে, তাই আমি @Dataসমস্ত সেটটার এবং গেটর জেনারেট করার জন্য এটির সাথে এটির সাথে মন্তব্য করে । তবে একটি বিশেষ ক্ষেত্র রয়েছে যার জন্য আমি অ্যাকসেসরগুলি বাস্তবায়িত করতে চাই না।

লম্বোক এই ক্ষেত্রটি কীভাবে বাদ দেবে?

উত্তর:


415

আপনি টিকা @Getterএবং @Setterটীকাগুলিতে একটি অ্যাক্সেস স্তর পাস করতে পারেন । এটি গ্রাহকগণ বা সেটারগুলি সুরক্ষিত বা ব্যক্তিগত তৈরিতে দরকারী। এটি ডিফল্টকে ওভাররাইড করতেও ব্যবহার করা যেতে পারে।

সাথে @Data, আপনার ডিফল্টরূপে অ্যাক্সেসরগুলিতে সর্বসাধারণের অ্যাক্সেস রয়েছে। আপনি এখন অ্যাক্সেসরটিকে NONEপুরোপুরি বাদ দিতে বিশেষ অ্যাক্সেস স্তরটি ব্যবহার করতে পারেন :

@Getter(AccessLevel.NONE)
@Setter(AccessLevel.NONE)
private int mySecret;

1
পারফেক্ট। যদি ব্যক্তিগত ক্ষেত্রটি কোনও পজো হয় এবং @ ডেলিগেট () দিয়েও টীকাযুক্ত থাকে তবে এটি পৃথক পুনরায় ব্যবহারযোগ্য শ্রেণিতে বৈশিষ্ট্যগুলির একটি সেট উত্তোলনের জন্য ব্যবহার করা যেতে পারে। একাধিক শ্রেণিতে (বৈশিষ্ট্য যুক্ত করার জন্য একটি মিশ্রণের ধরণের) একই সংখ্যার বৈশিষ্ট্য প্রয়োগ করার জন্য এটি দরকারী হতে পারে। উদাহরণস্বরূপ, মিশ্রণটি বিভিন্ন এক্সএমএল উপাদানগুলির মডেলিংয়ের ক্ষেত্রে প্রযোজ্য এমন বৈশিষ্ট্যের একটি সেট উপস্থাপন করে।
xorcus

আপনার কি বিল্ডারে একটি ক্ষেত্র বাদ দেওয়ার মতো জিনিস রয়েছে?
zt1983811

1
আপনি বলতে চাইছেন যে গুণটি বিল্ডারে প্রদর্শিত হবে না? না, এর জন্য সরাসরি কিছু নেই। মনে রাখবেন যে @Builderএটি ফাংশন এবং কনস্ট্রাক্টর পাশাপাশি ক্লাসগুলিতে রাখা যেতে পারে এবং কেবলমাত্র সেই বৈশিষ্ট্যগুলি সেট করে যা সেই ফাংশনের স্বাক্ষরে উপস্থিত হয়।
মাইকেল পিফেল :19

এটি এই সম্পত্তিটির জন্য কোনও সেটার এবং গেটর বাস্তবায়ন করে না যেখানে @ ডেটা ডিফল্টরূপে সেটার এবং গিটারগুলি অন্তর্ভুক্ত করে। যা উল্লেখ করে বাদ দেওয়া হবে AccessLevel.NONE
রাম

41

@ ডেটা বর্ণনা অনুসারে আপনি ব্যবহার করতে পারেন:

সমস্ত উত্পন্ন উত্সাহী এবং সেটটারগুলি সর্বজনীন হবে। অ্যাক্সেসের স্তরটিকে ওভাররাইড করতে, ক্ষেত্র বা শ্রেণিকে একটি সুস্পষ্ট @ সেটার এবং / অথবা @ গ্রেটার টিকা সহ বিশিষ্ট করুন। আপনি গেটর এবং / বা সেটার সম্পূর্ণরূপে উত্পন্ন করতে দমন করতে আপনি এই টিকাটিও (এটিকে অ্যাক্সেসভিল.নোনোন এর সাথে একত্রিত করে) ব্যবহার করতে পারেন।


-3

আপনার যদি সেটার এবং বেসরকারী হিসাবে গেটর থাকে তবে এটি পিএমডি চেকগুলিতে আসবে।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.