Re[5]: Модификация кода.
От: Blazkowicz Россия  
Дата: 25.07.12 12:51
Оценка:
Здравствуйте, Аноним, Вы писали:

А>Может и не последняя, но одна из эталонных. Не во всем можно соглашаться, но если и спорить то аргументированно.

Вот и я о том же. Какие ваши аргументы? Фраза "в книжке написано" это мой любимый момент в Space Jam

"Eh, not so fast Doc," said Bugs as got the chains off his body. "You can't just turn us into slaves. That would be bad. You got to give us a chance to defend ourselves."
"Oh yeah? Who says?" Pound aimed his gun at Bugs as the rabbit showed them a book that said 'How to draw Cartoon Characters' but Bugs changed the title that said 'How to capture Cartoon Characters.' The aliens looked through the book and found a piece of paper taped to a page that said 'Give them a chance to defend themselves.'
"Do we have to?" asked Bang.
"It's in the rule book," replied Nawt.


А>И почему вы так вскипаете вообще?

Я спокоен как танк. Ни восклицательных знаков, ни заглавных букв, ни выделения жирным. С чего вы взяли что я вскипаю?

А>The Test annotations have no direct effect on the semantics of the Sample

А>class. They serve only to provide information for use by interested programs.
А>More generally, annotations never change the semantics of the annotated code, but
А>enable it for special treatment by tools such as this simple test runner.
Это скорее неудачаня трактовка. Вот что говорит документация по этому поводу.
http://docs.oracle.com/javase/1.5.0/docs/guide/language/annotations.html

Annotations do not directly affect program semantics, but they do affect the way programs are treated by tools and libraries, which can in turn affect the semantics of the running program. Annotations can be read from source files, class files, or reflectively at run time.

Ключевое слово подчеркнуто. Документация логична и абсолютно корректа. Автор же книги пытался сказать тоже самое компактнее, но при этом потерял важные интонации.
Книги, кстати, они зачастую содержат такие неточности. Потому что их цель донести информацию как можно доступнее и структурировать то что находится в голове читателей. А вот за точными формулировками всегда стоит смотреть в первую очередь в документацию.

А>Но привидите пример, когда аннотоации нужны не для кодогенерации,как в посте спрашивают, а реально для добавления новых методов или полей класса.

Та сейчас всё JEE и много в JSE так работает. Парсит аннотации и генерит кучу кода. Например, JAXB сериализация. Сейчас, конечно, ушли от того чтобы генерировать код в клиентские классы. Но ещё в JAXRPC было иначе. JiBX создаёт новые методы сериализации прямо в клиентских классах. Правда, я за ним не слежу. Парсит ли он при этом именно аннотации — не знаю. Но ведь не суть важно где именно лежат метаданные.

А>И при этом использование аннотоаций в этом случае будет являеться — наиболее оптимальным решением.

А в Java нет других родных средств расставлять метаданные.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.