Peppy fast css3 selector engine
28/10/2008Peppy is a small and very fast css3 selector written by James Donaghue. Here is how you can use it:
var selector = "div"; var context = "#elementId"; var q = peppy.query(selector, context);
Archive of published articles on October, 2008
Back homePeppy is a small and very fast css3 selector written by James Donaghue. Here is how you can use it:
var selector = "div"; var context = "#elementId"; var q = peppy.query(selector, context);
I’ve been using build-in Java annotation types (like @Overrides or @Deprecated) and those created by different vendors/services for a while now but I’ve never built my own. Here is an example of how you can define very simple annotation type and use it:
import java.lang.annotation.Retention; public @interface SimpleMessageAnnotation { public String message(); }
As you can see a declaration of the new annotation type is very similar to the Java interface declaration (add ‘@’ symbol in front of the interface) There are some additional rules you have to follow:
In order to annotate a class with the new type you can write:
@SimpleMessageAnnotation(message = "hello world!!!") public class TestAnnotation { }
Now in order to access the message value during the runtime we can use reflection API. Before we can do that we need to change the RetentionPolicy of our new annotation type to RUNTIME. We can do it by adding Retention annotation to our SimpleMessageAnnotation:
import java.lang.annotation.Retention; import static java.lang.annotation.RetentionPolicy.RUNTIME; @Retention(RUNTIME) public @interface SimpleMessageAnnotation { public String message(); }
This will inform the compiler about the new policy. There are 3 policies which can be used by the compiler (default is CLASS):
Now by using reflection API we can access our message value like this:
What can be annotated?
Really nice ‘introduction’ to properties pattern by Steve Yegge
find . -name ".svn" -exec rm -rf '{}' \;