@SuppressWarnings("rawtypes")
 @Override
 public void visit(Collection collection) {
   Iterator iterator = collection.iterator();
   while (iterator.hasNext()) {
     Object o = iterator.next();
     if (o instanceof Visitable) ((Visitable) o).accept(this);
     else if (o instanceof Collection) visit((Collection) o);
   }
 }
Пример #2
0
 public double calculatePostage() {
   // create a visitor
   PostageVisitor visitor = new PostageVisitor();
   // iterate through all items
   for (Visitable item : items) {
     item.accept(visitor);
   }
   double postage = visitor.getTotalPostage();
   return postage;
 }
 public void visitVisitableCollection(VisitableCollection collection) {
   for (Object o : collection.value) {
     if (o instanceof Visitable) ((Visitable) o).accept(this);
   }
 }