Attributes - in COBOL and Java

COBOL Java
*> Define attributes on a class
class-id MyClass
          attribute WebService(name Description = "My service")
          attribute Obsolete.

*> Define attributes on a field
01 a binary-long attribute XmlAttribute("UpperB")
          attribute Obsolete static.
01 b string attribute CLSCompliant(false)
*> Define attributes on a property
*> Note that in this case, the attributes must follow
*> the reserved word PROPERTY
01 b binary-long property
          attribute XmlAttribute("UpperB")
          attribute Obsolete static.

*> Define attributes on an event
*> Note that the attributes must follow
*> the reserved word EVENT.
01 d type fred event
          attribute Obsolete static.

*> Define attributes on a method
method-id main 
          attribute Obsolete static.
procedure division
    move 999 to a
    display a

end method.

*> Define attributes on a method parameter and return type
method-id stat static.
procedure division 
          using by value l1 as binary-long
                   attribute CLSCompliant(true)
                   attribute MarshalAs(3)
          returning l2 as binary-long
                   attribute CLSCompliant(true)
                   attribute MarshalAs(2).
    move 999 to a
    display a
    set d to null
end method.

*> Define attributes on a property
method-id set property prop 
          attribute Obsolete static.
procedure division using by value l1 as binary-long.
    move l1 to a
end method.

end class.

*> Define attribute on a delegate
delegate-id fred attribute Obsolete.
procedure division using by value l1 as binary-long.
end delegate.   
// Java terminology : annotation
// Annotation on a class
@Author(name = "Benjamin Franklin", date = "3/27/2003")
class MyClass
{
    // Define attribute on a field
    @Deprecated
    long a; 

    // Annotation on a property
    @Deprecated
    private String prop;

    @Deprecated
    public String getb (){ return prop; }

    @Deprecated
    public void setb(String value) { prop = value; }

    // Annotation on a method
    @SuppressWarnings("unchecked")
    public void main()
    {
    }
	
    // Define an annotation
    public @interface MyAnnotation 
    {
       String doSomething();
       int doCount();
    }
	
    // Use an annotation
    @MyAnnotation (doSomething = "What to do", doCount = 1)
    public void myMethod() 
    { 
    }
}