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 הערך הראשוני של המשתנה ברמת ההפעלה