InvocationLocal

public class InvocationLocal
extends Object

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


הכיתה הזו מספקת משתנים ברמת ההפעלה.

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

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

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

אזהרה: מומלץ להשתמש בכיתה הזו במשורה, כי משתני invocation-locals הם למעשה משתנים גלובליים עם הרבה מהמלכודות שלהם.

סיכום

יוצרים ציבוריים

InvocationLocal()

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

final T get()

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

שיטות מוגנות

T initialValue()

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

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

InvocationLocal

public InvocationLocal ()

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

מקבלים

public final T get ()

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

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

שיטות מוגנות

initialValue

protected T initialValue ()

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

ההטמעה הזו פשוט מחזירה את הערך null, אבל אפשר לשנות אותה על ידי יצירה של תת-מחלקה של InvocationLocal ועקיפת השיטה הזו.

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