InvocationLocal

public class InvocationLocal
extends Object

java.lang.Object
   ↳ com.android.tradefed.invoker.logger.InvocationLocal<T>


इस क्लास में, शुरुआत के स्कोप वाले वैरिएबल दिए जाते हैं.

यह सुविधा, ThreadLocal की तरह ही काम करती है. ये वैरिएबल, उस कोड में अपने सामान्य वर्शन से अलग होते हैं. इसकी वजह यह है कि जो कोड, किसी एक (अपने get तरीके से) को ऐक्सेस करता है उसमें वैरिएबल की अलग से, शुरू की गई कॉपी होती है. InvocationLocal इंस्टेंस आम तौर पर उन क्लास में निजी स्टैटिक फ़ील्ड होते हैं जो किसी कॉल के साथ स्टेटस को जोड़ना चाहते हैं.

हर कॉल, कॉल के स्कोप वाले वैरिएबल की कॉपी से तब तक जुड़ा रहता है, जब तक कॉल जारी रहता है और InvocationLocal इंस्टेंस को ऐक्सेस किया जा सकता है. किसी कॉल को पूरा करने के बाद, कॉल के स्थानीय इंस्टेंस की सभी कॉपी को ग़ैर-ज़रूरी डेटा के तौर पर हटाया जा सकता है. हालांकि, ऐसा तब तक नहीं किया जाएगा, जब तक इन कॉपी के दूसरे रेफ़रंस मौजूद हों.

ध्यान दें कि ThreadLocal इंस्टेंस के उलट, जिनका रेफ़रंस अब नहीं दिया जाता है उन्हें कॉल के जारी रहने के दौरान, ग़ैर-ज़रूरी डेटा के तौर पर नहीं हटाया जाता. इसलिए, स्थानीय या नॉन-स्टैटिक इंस्टेंस बनाने का सुझाव नहीं दिया जाता, क्योंकि ये बिना किसी सीमा के बढ़ सकते हैं.

चेतावनी: इस क्लास का कम से कम इस्तेमाल करें, क्योंकि इनवोकेशन-लोकल, वैसे ही ग्लोबल वैरिएबल होते हैं जिनमें कई समस्याएं होती हैं.

खास जानकारी

सार्वजनिक कंस्ट्रक्टर

InvocationLocal()

सार्वजनिक तरीके

final T get()

इस शुरू करने के लोकल वैरिएबल के अभी लागू हो रहे उस शुरू होने की कॉपी की जानकारी देता है.

सुरक्षित तरीके

T initialValue()

इस इनवोकेशन-लोकल वैरिएबल के लिए, मौजूदा इनवोकेशन की "शुरुआती वैल्यू" दिखाता है.

सार्वजनिक कंस्ट्रक्टर

इनवोकेशनलोकल

public InvocationLocal ()

सार्वजनिक तरीके

पाएं

public final T get ()

इस शुरू करने के लोकल वैरिएबल के मौजूदा लागू होने वाले कॉल की कॉपी दिखाता है. अगर वेरिएबल के मौजूदा कॉल के लिए कोई वैल्यू नहीं है, तो इसे सबसे पहले initialValue() तरीके के कॉल से मिली वैल्यू पर शुरू किया जाता है.

रिटर्न
T इस invocation-local की, फ़िलहाल चल रही प्रक्रिया की कॉपी.

सुरक्षित तरीके

initialValue

protected T initialValue ()

इस शुरू करने के लोकल वैरिएबल के लिए मौजूदा शुरू करने वाले की "शुरुआती वैल्यू" लौटाता है. इस तरीके को तब लागू किया जाएगा, जब कोड को पहली बार get() तरीके से वैरिएबल को ऐक्सेस करने के लिए, इस्तेमाल किया जाएगा. इस तरीके को हर बार एक से ज़्यादा बार इस्तेमाल नहीं किया जा सकता.

इस तरीके से सिर्फ़ null दिखता है. हालांकि, InvocationLocal को सब-क्लास करके और इस तरीके को बदलकर, इसे बदला जा सकता है.

रिटर्न
T कॉल के दायरे वाले इस वैरिएबल की शुरुआती वैल्यू