Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
  package com.google.sitebricks.rendering.control;
  
  
 import java.util.Map;
 import java.util.Set;

Author(s):
Dhanji R. Prasanna (dhanji@gmail com)
 
 class WidgetWrapper {
   private final Class<? extends Renderableclazz;
   private final Constructor<? extends Renderableconstructor;
   private final String key;
   private final boolean selfRendering;
   private final WidgetKind kind;
 
   private WidgetWrapper(Class<? extends Renderableclazz,
       Constructor<? extends RenderableconstructorWidgetKind kindString key) {
     this. = kind;
     this. = clazz;
     this. = constructor;
     this. = key;
 
   }
 
   public Renderable newWidget(WidgetChain widgetChainString expressionEvaluator evaluator,
                               PageBook pageBook) {
     try {
       return ..equals() ?
           .newInstance(widgetChainexpressionevaluator) :
           .newInstance(toArguments(widgetChain), expressionevaluatorpageBook);
 
     } catch (IllegalAccessException e) {
       throw new IllegalStateException("Malformed Widget (this should never happen): " + );
     } catch (InvocationTargetException e) {
       throw new IllegalStateException("Could not construct an instance of " + e);
     } catch (InstantiationException e) {
       throw new IllegalStateException("Could not construct an instance of : " + e);
     }
   }
 
   private static Map<StringArgumentWidgettoArguments(WidgetChain widgetChain) {
     Set<ArgumentWidgetarguments = widgetChain.collect(ArgumentWidget.class);
     Map<StringArgumentWidgetmap = new HashMap<StringArgumentWidget>();
 
     for (ArgumentWidget argument : arguments) {
       map.put(argument.getName(), argument);
     }
 
     return map;
   }
 
   public static WidgetWrapper forWidget(String keyClass<? extends RenderablewidgetClass) {
     WidgetKind kind = EmbedWidget.class.isAssignableFrom(widgetClass)
         ? .
         : .;
     Constructor<? extends Renderableconstructor;
 
     try {
       switch (kind) {
         case :
           constructor = widgetClass.getConstructor(Map.classString.classEvaluator.class,
               PageBook.classString.class);
           break;
 
         case :
         default:
           constructor = widgetClass.getConstructor(WidgetChain.classString.class,
               Evaluator.class);
       }
     } catch (NoSuchMethodException e) {
       throw new IllegalStateException("Malformed Widget (this should never happen): "
           + widgetClass);
     }
 
 
     // Ugh...
     if (!constructor.isAccessible())
       constructor.setAccessible(true);
 
     return new WidgetWrapper(widgetClassconstructorkindkey);
   }

  
Returns true if this widget will render an outer, containing tag, discarding the annotated tag.
 
   public boolean isSelfRendering() {
     return ;
   }
  public String toString() {
    return Objects.toStringHelper(WidgetWrapper.class)
        .add("key")
        .add("class")
        .add("kind")
        .toString();
  }
  private static enum WidgetKind {
    NORMAL, EMBED
  }
New to GrepCode? Check out our FAQ X