annotation یا حاشیه نگاری نوعی متادیتا در مورد برنامه است که خود بخشی از برنامه نمی باشد. در حقیقت اطلاعاتی راجع به برنامه را بیان می کند و تاثیر مستقیمی روی اجرای خود کد برنامه ندارد.
حاشیه نگاری به طور کلی مورد استفاده هایی دارد که از آن می توان :
۱. اطلاعاتی برای کامپایلر : کامپایلر از این حاشیه نگاری ها استفاده کند، بطور مثال خطاها و اخطارهایی را نمایش دهد.
۲. پروسس های در زمان کامپایل یا نصب : ابزارهای نرم افزاری می توانند این حاشیه نگاری ها را مورد استفاده قرار داده و فایل هایی همچون XML و غیره را ایجاد نمایند.
۳. پروسس های در حال اجرا : بعضی از این حاشیه نگاری ها را می توان در زمان اجرا تست و مورد بررسی قرار داد.