Source code annotations alla Java
Mengu
mengukagan at gmail.com
Thu Jan 30 00:28:13 PST 2014
On Thursday, 20 January 2011 at 18:19:21 UTC, Jacob Carlborg
wrote:
> On 2011-01-20 14:47, Justin Johansson wrote:
>> Not long ago the Java Language people introduced the idea of
>> annotations
>> together with an annotation processing tool (apt).
>>
>> Now perhaps the idea of source code annotations is not
>> actually a Java
>> invention per se, however for someone learning D is there any
>> equivalent
>> idiom [of Java annotations] in the D language?
>
> Depending on what you want to do you can create a template
> mixin that accepts string(s)/alias(es). For example: for the
> serialization library (http://dsource.org/projects/orange) I'm
> working on the following syntax is used:
>
> class Foo
> {
> int x;
> int y;
> int z;
>
> mixin NonSerialized!(z);
> }
>
> The above mixin indicates that the "z" instance variable
> shouldn't be serialized. This is (currently) achieved by
> defining a field in the mixed in template (which will be added
> to the class) which is a struct containing the string of the
> filed which shouldn't be serialized. Then I iterate over all
> the fields in the class with .tupleof and collects all mixed in
> fields in a list. Then I know what fields to skip later during
> the serialization.
let's assume you are building a web application and you want to
keep that controller only for the logged in users. in java you
can create an annotation class called @RequireLogin and put your
logic there. mixins are not the way for this.
More information about the Digitalmars-d-learn
mailing list