01: /*
02: * File: MOSAttribute.java
03: * Project: jMOS, com.aranova.java.jmos.annotations
04: * Revision: 0.9 - Inicial
05: * Date: 24-oct-2005 12:11:02
06: *
07: * Copyright (C) Aragón Innovación Tecnológica S.L.L.
08: * All rights reserved.
09: *
10: * This software is distributed under the terms of the Aranova License version 1.0.
11: * See the terms of the Aranova License in the documentation provided with this software.
12: */
13:
14: package com.aranova.java.jmos.annotations;
15:
16: import java.lang.annotation.ElementType;
17: import java.lang.annotation.Retention;
18: import java.lang.annotation.RetentionPolicy;
19: import java.lang.annotation.Target;
20:
21: import com.aranova.java.jmos.enums.TypeModifier;
22:
23: /**
24: * Annotations for define MOS Attribute for messages.
25: *
26: * @author <a href="http://www.aranova.net/contactar/">Daniel Sánchez</a>
27: * @version 0.9.1
28: * @since 0.9
29: */
30: @Target(ElementType.FIELD)
31: @Retention(RetentionPolicy.RUNTIME)
32: public @interface MOSAttribute {
33: /**
34: * @return Name of attribute.
35: */
36: String name();
37:
38: /**
39: * @return Modifier.
40: */
41: TypeModifier modifier() default TypeModifier.Required;
42:
43: /**
44: * @return Max Length of field.
45: */
46: int maxLength() default 0;
47:
48: /**
49: * @return version of field.
50: */
51: String version() default "";
52:
53: /**
54: * @return Type of field.
55: */
56: Class type() default MOSAttribute.class;
57:
58: /**
59: * @return True write the tag.
60: */
61: boolean writeTag() default true;
62:
63: /**
64: * @return True is XML.
65: */
66: boolean isXML() default false;
67:
68: /**
69: * @return The namespace of the field, default "" is the name of the class.
70: */
71: String namespace() default "";
72:
73: /**
74: * Establece el tag para cada uno de los emenentos de una colleción.
75: * @return Valor.
76: */
77: String tagForItem() default "";
78:
79: /**
80: * @return True si es un attributo XML.
81: */
82: boolean attibute() default false;
83: }
|