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