@Override public void accept(TemplateVisitor visitor) { checkNotNull(visitor,"Template visitor cannot be null"); for(ResourceTemplate template:this.context.registeredTemplates()) { template.accept(visitor); } }
@Override public void visitIndirectContainerTemplate(IndirectContainerTemplate template) { ImmutableTemplateFactory.newImmutable(template).accept(this.visitor); } }
public static boolean areCompatible(Class<? extends Resource> clazz, ResourceTemplate template) { Checker checker = new Checker(clazz); template.accept(checker); return checker.getResult(); }
public static boolean areCompatible(Class<?> clazz, ResourceTemplate template) { Checker checker = new Checker(clazz); template.accept(checker); return checker.getResult(); }
@Override public void visitResourceTemplate(ResourceTemplate template) { ImmutableTemplateFactory.newImmutable(template).accept(this.visitor); }
@Override public void visitMembershipAwareContainerTemplate(MembershipAwareContainerTemplate template) { ImmutableTemplateFactory.newImmutable(template).accept(this.visitor); }
static ResourceTemplate newImmutable(ResourceTemplate template) { if(template==null) { return null; } TemplateCreator creator = new TemplateCreator(); template.accept(creator); return creator.getCreatedTemplate(); }
@Override public void visitBasicContainerTemplate(BasicContainerTemplate template) { ImmutableTemplateFactory.newImmutable(template).accept(this.visitor); }
@Override public void visitContainerTemplate(ContainerTemplate template) { ImmutableTemplateFactory.newImmutable(template).accept(this.visitor); }
@Override public void visitDirectContainerTemplate(DirectContainerTemplate template) { ImmutableTemplateFactory.newImmutable(template).accept(this.visitor); }
public static TemplateIntrospector newInstance(ResourceTemplate template) { TemplateIntrospector introspector = new TemplateIntrospector(template); template.accept(new TemplateIntrospectorInitializer(introspector)); return introspector; }
/** * {@inheritDoc} */ @Override public Resource createResource(ResourceTemplate template, Name<?> name) { checkNotNull(name,"Resource name cannot be null"); checkArgument(this.templateLibrary.contains(template),"Unknown template "+template); RootResourceCreator creator= new RootResourceCreator( ResourceId.createId(name,template)); template.accept(creator); return creator.createdResource(); }
/** * {@inheritDoc} */ @Override public Resource createResource(ResourceTemplate template, Name<?> name) { checkNotNull(name,"Resource name cannot be null"); checkArgument(this.templateLibrary.contains(template),"Unknown template "+template); RootResourceCreator creator= new RootResourceCreator( ResourceId.createId(name,template)); template.accept(creator); return creator.createdResource(); }
/** * NOTE: For the time being containers will always behave as containers. * Whenever we support downgrading containers to resources the visitor will * have to be updated to reflect that. */ private void verifyInteractionModel(InteractionModel interactionModel) { if(interactionModel==null) { return; } Set<InteractionModel> acceptable=Sets.newHashSet(); containerTemplate().memberTemplate().accept(new AcceptableInteractionModelCollector(acceptable)); if(!acceptable.contains(interactionModel)) { throw new UnsupportedInteractionModelException(interactionModel,acceptable); } }