Docjar: A Java Source and Docuemnt Enginecom.*    java.*    javax.*    org.*    all    new    plug-in

Quick Search    Search Deep

Source code: com/ghettojedi/aop/example/Main.java


1   package com.ghettojedi.aop.example;
2   
3   import org.apache.commons.collections.Predicate;
4   import org.apache.commons.collections.Transformer;
5   
6   import java.util.Arrays;
7   import java.util.Collection;
8   
9   import com.ghettojedi.aop.example.patterns.observer.Observer;
10  import com.ghettojedi.aop.example.patterns.observer.Subject;
11  
12  public class Main {
13      public static void main(String[] args) {
14          helloWorld();
15          enumerableMixin();
16          compositeBook();
17      }
18  
19      private static void helloWorld() {
20          HelloWorld hello = HelloWorld.create();
21          hello.test();
22          hello.hello();
23      }
24  
25      private static void enumerableMixin() {
26          EnumerableList list = EnumerableList.create();
27          list.addAll(Arrays.asList(new String[]{"January", "Ferbruary", "Mars", "April", "May", "June", "July",
28                                                 "August", "September", "October", "November", "December"}));
29  
30          Collection theMonthsWithoutR = list.reject(new Predicate() {
31              public boolean evaluate(Object object) {
32                  return ((String) object).toLowerCase().indexOf("r") >= 0;
33              }
34          });
35          System.out.println(theMonthsWithoutR);
36  
37          EnumerableSet set = EnumerableSet.create();
38          set.addAll(list);
39  
40          Collection upperCaseMonths = set.collect(new Transformer() {
41              public Object transform(Object object) {
42                  return ((String) object).toUpperCase();
43              }
44          });
45          System.out.println(upperCaseMonths);
46      }
47  
48      private static void compositeBook() {
49          Book book = Book.create("Design Patterns", "GoF");
50          book.attach(new Observer() {
51              public void update(Subject subject) {
52                  System.out.println("Someone updated the book");
53              }
54          });
55  
56          Page page1 = Page.create(1);
57          page1.add(Line.create("There are many patterns...."));
58          page1.add(Line.create("Some on the first page."));
59          book.add(page1);
60  
61          Page page2 = Page.create(2);
62          page2.add(Line.create("But most on the second page!"));
63          page2.add(Line.create("Composite"));
64          page2.add(Line.create("Visitor"));
65          book.add(page2);
66  
67          book.accept(new PrintlnVisitor());
68      }
69  }