InvocationLocal

public class InvocationLocal
extends Object

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


מחלקה זו מספקת משתנים של היקף הפעלה.

המנגנון פועל בדומה ל- ThreadLocal . משתנים אלו נבדלים מהמקבילים הרגילים שלהם בקוד זה, בהתראה הניגשת לאחד (באמצעות שיטת get שלו) יש עותק משלו, אתחול עצמאי של המשתנה. InvocationLocal מופעים הם בדרך כלל שדות סטטיים פרטיים במחלקות שרוצות לשייך מצב ל-invocation.

כל הזמנה משויכת לעותק של משתנה בהיקף הפעלה כל עוד ההפעלה מתבצעת והמופע InvocationLocal נגיש. לאחר השלמת הזמנה, כל העותקים שלה של מופעים מקומיים של הזמנה כפופים לאיסוף אשפה (אלא אם קיימות אזכורים אחרים להעתקים אלה).

שימו לב שבניגוד למופעים ThreadLocal שכבר לא מתייחסים אליהם בזמן שההתקשרות עדיין מתבצעת, לא נאספים אשפה. לכן לא מומלץ ליצור מופעים מקומיים או לא סטטיים מכיוון שהם עלולים לגדול ללא קשר.

אזהרה: השתמש במחלקה זו במשורה מכיוון ש-local-invocation הם משתנים גלובליים מהוללים עם הרבה מאותן מלכודות.

סיכום

בנאים ציבוריים

InvocationLocal ()

שיטות ציבוריות

final T get ()

מחזירה את העותק של ההתקשרות המתבצעת כעת של המשתנה המקומי של ההתקשרות.

שיטות מוגנות

T initialValue ()

מחזירה את ה"ערך ההתחלתי" של ההזמנה הנוכחית עבור משתנה מקומי זה.

בנאים ציבוריים

InvocationLocal

public InvocationLocal ()

שיטות ציבוריות

לקבל

public final T get ()

מחזירה את העותק של ההתקשרות המתבצעת כעת של המשתנה המקומי של ההתקשרות. אם למשתנה אין ערך עבור ההפעלה הנוכחית, הוא מאותחל תחילה לערך המוחזר על ידי קריאה לשיטת initialValue() .

החזרות
T העותק של ההזמנה המבצעת כעת של ה-invocation-local הזה.

שיטות מוגנות

ערך התחלתי

protected T initialValue ()

מחזירה את ה"ערך ההתחלתי" של ההזמנה הנוכחית עבור משתנה מקומי זה. שיטה זו תופעל בפעם הראשונה שקוד המופעל בהקשר של הפנייה ניגש למשתנה עם השיטה get() . שיטה זו מובטחת שתופעל לכל היותר פעם אחת בכל הפניה.

יישום זה פשוט מחזיר null אך ניתן לשנותו על ידי סיווג משנה InvocationLocal ועקוף שיטה זו.

החזרות
T הערך ההתחלתי של משתנה זה בהיקף הפעלה