Creating Custom Annotations in Android
annotataion : هي بيانات وصفيه metadata
البيانات الوصفيه : هي مجموعة بيانات تعطي معلومات حول بيانات اخري
وهنا annotataion هي بشكل اساسي تعطي معلومات حول الكود
@Retention(RetentionPolicy.RUNTIME)
البيانات الوصفيه : هي مجموعة بيانات تعطي معلومات حول بيانات اخري
وهنا annotataion هي بشكل اساسي تعطي معلومات حول الكود
انشاء annotation مخصص :
@Target(ElementType.METHOD)
@Retention(RetentionPolicy.RUNTIME)
@interface Status {
public enum Priority {LOW, MEDIUM, HIGH}
Priority priority() default Priority.LOW;
String author() default “Amit”;
int completion() default 0;
Priority priority() default Priority.LOW;
String author() default “Amit”;
int completion() default 0;
}
@Target : اين يمكن وضع هذا اذا لم يحدد يمكن استخدامه في كل مكان
- ElementType.TYPE (class, interface, enum)
- ElementType.FIELD (instance variable)
- ElementType.METHOD
- ElementType.PARAMETER
- ElementType.CONSTRUCTOR
- ElementType.LOCAL_VARIABLE
- @Qualifier : هي تعمل على تاهيل dependency وهي تستخدم للتمييز بين كائنات من نفس النوع ولكل و instance مختلف
- @Retenttion :كم المده التي يحتفظ ب annotation
- RetentionPolicy.SOURCE : هذا النوع يتم تجاهله اثناء compiler ولا يحتاج الى تحويل الى يايت كود
- RetentionPolicy.CLASS : هذا النوع يتم تجاهبة اثناء تحميل الكلاس وهذا هو الافتراضي
- RetentionPolicy.RUNTIME : لا يتم التجاهل ويكون متاح في وقت التشغيل
- @Scope : يستخدم لتحديد النطاق الذي تستخم فيه عناصر التبعيه
- اذا كان هناك كلاس يريد تبعيه والداله المحقونه اليه معنونه ب scope , كل instance من هذا الكلاس يسال عن التبعيه للحصول على متغيرات خاصه به
تعليقات
إرسال تعليق