Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
  package org.jboss.errai.ui.shared.api.style;
  
  
  import java.util.HashMap;
  import java.util.List;
  import java.util.Map;

Author(s):
Mike Brock
 
 public class StyleBindingsRegistry {
   private static final StyleBindingsRegistry INSTANCE = new StyleBindingsRegistry();
 
   private StyleBindingsRegistry() {
   }
 
   private final Map<ObjectList<Object>> houseKeepingMap
       = new HashMap<ObjectList<Object>>();
 
   private final Map<Class<? extends Annotation>, List<StyleBindingExecutor>> styleBindings
       = new HashMap<Class<? extends Annotation>, List<StyleBindingExecutor>>();
 
 
   private final Map<Class<? extends Annotation>, Annotationmapping
           = new HashMap<Class<? extends Annotation>, Annotation>();
 
   public void addStyleBinding(final Object beanInstfinal Class<? extends Annotationannotationfinal StyleBindingExecutor binding) {
     List<StyleBindingExecutorstyleBindingList = .get(annotation);
     if (styleBindingList == null) {
       .put(annotationstyleBindingList = new ArrayList<StyleBindingExecutor>());
     }
     styleBindingList.add(binding);
     recordHouskeepingData(beanInstbinding);
 
     updateStyles();
   }
 
   public void addElementBinding(final Object beanInstfinal Annotation annotationfinal Element element) {
     addElementBinding(beanInstannotationnew ElementBinding(thiselement));
   }
 
   private void addElementBinding(final Object beanInstfinal Annotation annotationfinal ElementBinding element) {
     List<ElementBindingelementsList = .get(annotation);
     if (elementsList == null) {
       .put(annotationelementsList = new ArrayList<ElementBinding>());
     }
     elementsList.add(element);
     .put(annotation.annotationType(), annotation);
     recordHouskeepingData(beanInstelement);
   }
 
   private void recordHouskeepingData(final Object beanInstfinal Object toClean) {
     List<ObjecttoCleanList = .get(beanInst);
     if (toCleanList == null) {
       .put(beanInsttoCleanList = new ArrayList<Object>());
     }
     toCleanList.add(toClean);
   }
 
   public void cleanAllForBean(final Object beanInst) {
     final List<ObjecttoCleanList = .get(beanInst);
     if (toCleanList != null) {
       for (final Object o : toCleanList) {
         for (final List<StyleBindingExecutorexecutorList : .values()) {
           executorList.remove(o);
         }
         for (final List<ElementBindingbindingList : .values()) {
           bindingList.remove(o);
         }
       }
 
       .remove(beanInst);
     }
   }
 
   public void updateStyles() {
     for (final Map.Entry<Class<? extends Annotation>, List<StyleBindingExecutor>> entry : .entrySet()) {
       final List<ElementBindingelementList = .get(.get(entry.getKey()));
       if (elementList != null) {
         for (final ElementBinding element : elementList) {
           for (final StyleBindingExecutor executor : entry.getValue()) {
             if (executor instanceof AnnotationStyleBindingExecutor) {
               ((AnnotationStyleBindingExecutorexecutor).invokeBinding(element.getElement(), .get(entry.getKey()));
             } else {
               executor.invokeBinding(element.getElement());
             }
           }
         }
       }
     }
   }
 
   public static StyleBindingsRegistry get() {
     return ;
   }
New to GrepCode? Check out our FAQ X