<?xml version="1.0" encoding="UTF-8"?><!-- generator="wordpress/2.2.1" -->
<rss version="2.0" 
	xmlns:content="http://purl.org/rss/1.0/modules/content/">
<channel>
	<title>Comments on: Аннотации в Java (java annotation types)</title>
	<link>http://www.javenue.info/post/79</link>
	<description>Блог разработчика о Java и родственных технологиях</description>
	<pubDate>Fri, 21 Nov 2008 09:36:00 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.2.1</generator>

	<item>
		<title>By: Оригами</title>
		<link>http://www.javenue.info/post/79#comment-29850</link>
		<author>Оригами</author>
		<pubDate>Fri, 24 Oct 2008 13:48:17 +0000</pubDate>
		<guid>http://www.javenue.info/post/79#comment-29850</guid>
		<description>Вы, коль уж комментарии модерируйте, лучше не ссылки у спамеров режьте, а их комментарии блокируйте. Или "больше коментов, всяких и разных"? 

Это я о лулок и тзаф.</description>
		<content:encoded><![CDATA[<p>Вы, коль уж комментарии модерируйте, лучше не ссылки у спамеров режьте, а их комментарии блокируйте. Или &#8220;больше коментов, всяких и разных&#8221;? </p>
<p>Это я о лулок и тзаф.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Victor</title>
		<link>http://www.javenue.info/post/79#comment-29210</link>
		<author>Victor</author>
		<pubDate>Tue, 07 Oct 2008 20:04:17 +0000</pubDate>
		<guid>http://www.javenue.info/post/79#comment-29210</guid>
		<description>Спасибо автору, особо за то что указал зачем они надо. И за пример спасибо. Все понятно и без лишних заморочек :)</description>
		<content:encoded><![CDATA[<p>Спасибо автору, особо за то что указал зачем они надо. И за пример спасибо. Все понятно и без лишних заморочек <img src='http://www.javenue.info/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /></p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Sts</title>
		<link>http://www.javenue.info/post/79#comment-25053</link>
		<author>Sts</author>
		<pubDate>Sat, 12 Jul 2008 20:47:43 +0000</pubDate>
		<guid>http://www.javenue.info/post/79#comment-25053</guid>
		<description>замечание в принципе не очень важное 
но точности ради приведу выдержку из JLS с сайта компании sun
"Note that the at sign (@) and the keyword interface are two distinct tokens"
это собсно значит, что @interface не является новым ключевым словом, а представляет собой два отдельных слова, а значит вы написание "@ interface" так же правильно как и "@interface"</description>
		<content:encoded><![CDATA[<p>замечание в принципе не очень важное<br />
но точности ради приведу выдержку из JLS с сайта компании sun<br />
&#8220;Note that the at sign (@) and the keyword interface are two distinct tokens&#8221;<br />
это собсно значит, что @interface не является новым ключевым словом, а представляет собой два отдельных слова, а значит вы написание &#8220;@ interface&#8221; так же правильно как и &#8220;@interface&#8221;</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Trofei</title>
		<link>http://www.javenue.info/post/79#comment-24799</link>
		<author>Trofei</author>
		<pubDate>Wed, 02 Jul 2008 06:40:41 +0000</pubDate>
		<guid>http://www.javenue.info/post/79#comment-24799</guid>
		<description>Извиняюсь, что не по теме, хотел спросить у автора сайта по-поводу вот этой программки http://www.javenue.info/post/49#comment-24798 Пишу здесь, т.к. та тема была старой и не знаю сообщается ли автору (C0nst) о новых комментах.

&lt;strong&gt;Moderated: в соответствующей теме ответил на ваш вопрос&lt;/strong&gt;</description>
		<content:encoded><![CDATA[<p>Извиняюсь, что не по теме, хотел спросить у автора сайта по-поводу вот этой программки <a href="http://www.javenue.info/post/49#comment-24798" rel="nofollow">http://www.javenue.info/post/49#comment-24798</a> Пишу здесь, т.к. та тема была старой и не знаю сообщается ли автору (C0nst) о новых комментах.</p>
<p><strong>Moderated: в соответствующей теме ответил на ваш вопрос</strong></p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Tzaf</title>
		<link>http://www.javenue.info/post/79#comment-24699</link>
		<author>Tzaf</author>
		<pubDate>Thu, 26 Jun 2008 04:50:11 +0000</pubDate>
		<guid>http://www.javenue.info/post/79#comment-24699</guid>
		<description>Аналогично

Из этой статьи мало что понятно ...

Но автору все равно спасибо, старался как никак :)</description>
		<content:encoded><![CDATA[<p>Аналогично</p>
<p>Из этой статьи мало что понятно &#8230;</p>
<p>Но автору все равно спасибо, старался как никак <img src='http://www.javenue.info/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /></p>
]]></content:encoded>
	</item>
	<item>
		<title>By: LuLok</title>
		<link>http://www.javenue.info/post/79#comment-24686</link>
		<author>LuLok</author>
		<pubDate>Wed, 25 Jun 2008 13:07:14 +0000</pubDate>
		<guid>http://www.javenue.info/post/79#comment-24686</guid>
		<description>Я ни в чем не упрекаю автора, но про аннотации я услышал первый раз вот в этой самой статье и на основании матерьяла, изложенного в ней, мало что понял. Но все равно спасибо:)</description>
		<content:encoded><![CDATA[<p>Я ни в чем не упрекаю автора, но про аннотации я услышал первый раз вот в этой самой статье и на основании матерьяла, изложенного в ней, мало что понял. Но все равно спасибо:)</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: lucker</title>
		<link>http://www.javenue.info/post/79#comment-24138</link>
		<author>lucker</author>
		<pubDate>Mon, 02 Jun 2008 08:16:42 +0000</pubDate>
		<guid>http://www.javenue.info/post/79#comment-24138</guid>
		<description>Хорошая статья, но есть несколько недочетов. Про один уже сказали. Еще в качестве типов у элементов аннотации могут выступать другие аннотации. Например, твой вариант @Description можно расширить
&lt;code&gt;
public @interface Version {

	int major() default 1;
	int minor() default 0;

}
public @interface Description {

	String title();

	Version version() default @Version(major = 1);

	String text() default "";

}
&lt;/code&gt;

Ну и использование
&lt;code&gt;
@Description(title = "title", version = @Version(major = 2, minor = 1))
public class Clazz {}
&lt;/code&gt;

Ну и еще, аннотациями можно также помечать параметры методов. 
&lt;code&gt;
	public void test(@Description(title = "some title") String arg) {
		
	}
&lt;/code&gt;</description>
		<content:encoded><![CDATA[<p>Хорошая статья, но есть несколько недочетов. Про один уже сказали. Еще в качестве типов у элементов аннотации могут выступать другие аннотации. Например, твой вариант @Description можно расширить<br />
<code><br />
public @interface Version {</p>
<p>	int major() default 1;<br />
	int minor() default 0;</p>
<p>}<br />
public @interface Description {</p>
<p>	String title();</p>
<p>	Version version() default @Version(major = 1);</p>
<p>	String text() default "";</p>
<p>}<br />
</code></p>
<p>Ну и использование<br />
<code><br />
@Description(title = "title", version = @Version(major = 2, minor = 1))<br />
public class Clazz {}<br />
</code></p>
<p>Ну и еще, аннотациями можно также помечать параметры методов.<br />
<code><br />
	public void test(@Description(title = "some title") String arg) {</p>
<p>	}<br />
</code></p>
]]></content:encoded>
	</item>
	<item>
		<title>By: black zorro</title>
		<link>http://www.javenue.info/post/79#comment-24130</link>
		<author>black zorro</author>
		<pubDate>Sun, 01 Jun 2008 21:41:53 +0000</pubDate>
		<guid>http://www.javenue.info/post/79#comment-24130</guid>
		<description>А-а-а-а, меня опередили с подловленной ошибкой и одной и той же.

ну да ладно, можно было бы рассказать об страшных временах когда был XDoclet, commons annotations для сравнения хотя бы.


P.S. Может у меня что не так, но пока я написал этот коммент страница раза три самопроизвольно перезагрузилась (opera 9.5). Может какой-то гадкий js-скрипт?</description>
		<content:encoded><![CDATA[<p>А-а-а-а, меня опередили с подловленной ошибкой и одной и той же.</p>
<p>ну да ладно, можно было бы рассказать об страшных временах когда был XDoclet, commons annotations для сравнения хотя бы.</p>
<p>P.S. Может у меня что не так, но пока я написал этот коммент страница раза три самопроизвольно перезагрузилась (opera 9.5). Может какой-то гадкий js-скрипт?</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: black zorro</title>
		<link>http://www.javenue.info/post/79#comment-24129</link>
		<author>black zorro</author>
		<pubDate>Sun, 01 Jun 2008 21:29:58 +0000</pubDate>
		<guid>http://www.javenue.info/post/79#comment-24129</guid>
		<description>Давно не писали, заждался ...

фраза:

---
Сразу хочу обратить ваше внимание - в качестве типов у элементов аннотации могут использоваться только примитивные типы, перечисления и класс String.
---

Ну не совсем так, например можно в качестве значения аннотации использовать Class
@interface BU{
    Class foo ();
}


@BU (foo = String.class)

public class Barra {


Хотя скажу прямо, sun-овцы явно не додумали когда писали спеку-аннотаций, например, встречаются такие гадкие конструкции (в гибернате):

    @OneToMany (mappedBy = "department", cascade = CascadeType.ALL, fetch = FetchType.LAZY)
    protected Set employees = new HashSet();


Так и подмывает сказать и нафига нужно задавать статическую информацию об структуре кода в виде строки текста (мало мне опечаток). Мможно было бы добавить такой вид синтаксиса и возложить контроль за проверкой корректности на компилятор


    @OneToMany (mappedBy = pack.db.Employee#department, cascade = CascadeType.ALL, fetch = FetchType.LAZY)
    protected Set employees = new HashSet();</description>
		<content:encoded><![CDATA[<p>Давно не писали, заждался &#8230;</p>
<p>фраза:</p>
<p>&#8212;<br />
Сразу хочу обратить ваше внимание - в качестве типов у элементов аннотации могут использоваться только примитивные типы, перечисления и класс String.<br />
&#8212;</p>
<p>Ну не совсем так, например можно в качестве значения аннотации использовать Class<br />
@interface BU{<br />
    Class foo ();<br />
}</p>
<p>@BU (foo = String.class)</p>
<p>public class Barra {</p>
<p>Хотя скажу прямо, sun-овцы явно не додумали когда писали спеку-аннотаций, например, встречаются такие гадкие конструкции (в гибернате):</p>
<p>    @OneToMany (mappedBy = &#8220;department&#8221;, cascade = CascadeType.ALL, fetch = FetchType.LAZY)<br />
    protected Set employees = new HashSet();</p>
<p>Так и подмывает сказать и нафига нужно задавать статическую информацию об структуре кода в виде строки текста (мало мне опечаток). Мможно было бы добавить такой вид синтаксиса и возложить контроль за проверкой корректности на компилятор</p>
<p>    @OneToMany (mappedBy = pack.db.Employee#department, cascade = CascadeType.ALL, fetch = FetchType.LAZY)<br />
    protected Set employees = new HashSet();</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Vasyl Stashuk</title>
		<link>http://www.javenue.info/post/79#comment-24127</link>
		<author>Vasyl Stashuk</author>
		<pubDate>Sun, 01 Jun 2008 21:22:27 +0000</pubDate>
		<guid>http://www.javenue.info/post/79#comment-24127</guid>
		<description>C0nst, 

еще возможный (и частый вариант) типа параметров аннотации - java.lang.Class

Про саму статью - пример как есть понятный только веб-програмерам. 

А в общем прикольно, только такой вопрос - кто целевая группа этого поста ?</description>
		<content:encoded><![CDATA[<p>C0nst, </p>
<p>еще возможный (и частый вариант) типа параметров аннотации - java.lang.Class</p>
<p>Про саму статью - пример как есть понятный только веб-програмерам. </p>
<p>А в общем прикольно, только такой вопрос - кто целевая группа этого поста ?</p>
]]></content:encoded>
	</item>
</channel>
</rss>
