Attribute-oriented programming
   HOME

TheInfoList



OR:

Attribute-oriented programming (@OP) is a technique for embedding metadata, namely
attributes Attribute may refer to: * Attribute (philosophy), an extrinsic property of an object * Attribute (research), a characteristic of an object * Grammatical modifier, in natural languages * Attribute (computing), a specification that defines a prope ...
, within program code.


Attribute-oriented programming in various languages


Java

With the inclusion of
Metadata Facility for Java The Metadata Facility for Java is a specification for Java that defines an API for annotating fields, methods, and classes as having particular attributes that indicate they should be processed in specific ways by development tools, deployment t ...
(JSR-175) into the J2SE 5.0 release it is possible to utilize attribute-oriented programming right out of the box. XDoclet library makes it possible to use attribute-oriented programming approach in earlier versions of Java.


C#

The C# language has supported attributes from its very first release. These attributes was used to give run-time information and are not used by a preprocessor. Currently with source generators, you can use attributes to drive generation of additional code at compile-time.


UML

The
Unified Modeling Language The Unified Modeling Language (UML) is a general-purpose, developmental modeling language in the field of software engineering that is intended to provide a standard way to visualize the design of a system. The creation of UML was originally m ...
(UML) supports a kind of attribute called
stereotypes In social psychology, a stereotype is a generalized belief about a particular category of people. It is an expectation that people might have about every person of a particular group. The type of expectation can vary; it can be, for example ...
.


Hack

The Hack programming language supports attributes. Attributes can be attached to various program entities, and information about those attributes can be retrieved at run-time via reflection.


Tools


Annotation Processing Tool (apt)

Spoon
an Annotation-Driven Java Program Transformer
XDoclet
a Javadoc-Driven Program Generator


References

* * *


External links

* Don Schwarz

* Sun ttps://www.jcp.org/en/jsr/detail?id=175 JSR 175
Attributes and Reflection
- sample chapter fro
Programming C#
book


Fraclet
An annotation-based programming model for th
Fractal
component model
Attribute Enabled Software Development
book Programming paradigms {{Comp-sci-stub