annotation یا حاشیه نگاری نوعی متادیتا در مورد برنامه است که خود بخشی از برنامه نمی باشد. در حقیقت اطلاعاتی راجع به برنامه را بیان می کند و تاثیر مستقیمی روی اجرای خود کد برنامه ندارد. 

حاشیه نگاری به طور کلی مورد استفاده هایی دارد که از آن می توان :


۱. اطلاعاتی برای کامپایلر : کامپایلر از این حاشیه نگاری ها استفاده کند، بطور مثال خطاها و اخطارهایی را نمایش دهد.

۲. پروسس های در زمان کامپایل یا نصب : ابزارهای نرم افزاری می توانند این حاشیه نگاری ها را مورد استفاده قرار داده و فایل هایی همچون XML و غیره را ایجاد نمایند. 

۳. پروسس های در حال اجرا :‌ بعضی از این حاشیه نگاری ها را می توان در زمان اجرا تست و مورد بررسی قرار داد.