Feeds:
Posts
Comments

Archive for the ‘1’ Category

Please Drive safe

yes, Mr. Driver, you have a machine that can carry you and your beloved ones to your targeted places and it can also destroy, kill and maim you, your beloved ones and others beloved one.

so, be careful, you are fully charged. and No one thinks big of you.

a video that every driver should watch, listen and feel.

Read Full Post »

Java Annotations provide Java developers full potential of doing things in more easy and nice way. I will not go explaining Java annotations pros, cons, and the definitions; you can find out here http://java.sun.com/docs/books/tutorial/java/javaOO/annotations.html

instead I will add some piece which I hardly found: how can I write my own Annotation class and make use of them?! here you go:

I will take a simple Beans that Document who wrote some Java class and who reviewed it.

Requirements

  1. Author, Data Type: String
  2. Reviewers, Data Type: Array of String

import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;

@Retention(RetentionPolicy.RUNTIME)

public @interface Documentation {

String author();

String [] reviewers() default {};

}

what have we done? we created a file called Documentation.java that is an interface, and because it’s an annotation it’s written like this @interface

we have add two methods signatures:

  1. author: returns a String.
  2. reviewers: returns an array of string, that is an optional element to mention, so we provided a default value of empty string array (I know you noticed that 😉

a question: what does@Retention(RetentionPolicy.RUNTIME) do? well, it indicates to the JVM that this annotation is intended to be used at runtime, simply.

now, it’s time to introduce the famous Hello World class 😀

import java.lang.annotation.Annotation;

@Documentation(author=”Alex”, reviewers={“Divid”, “Osama”})

public class HelloWorld {

public static void main(String [] args){

System.out.println(“checking documentation for class HelloWorld.java”);

Annotation annotation = HelloWorld.class.getAnnotation(Documentation.class);

if (annotation == null) {

System.out.println(“No Documentation was found for class HelloWorld, exit”);

System.exit(0);

}

Documentation doc = (Documentation) annotation;

System.out.println(“author: ” + doc.author());

for (String reviewer : doc.reviewers()) {

System.out.println(“reviewer: ” + reviewer);

}

System.exit(0);

}

}

what have we done? we created a Java Class called HelloWorld, that uses @Documentation annotation.

we have extracted the informtion provided for this class in @Documentation annotation element.

Read Full Post »

pointing out http://stackoverflow.com/questions/461896 write your experience ….

Read Full Post »