@Override public void visitResourceTemplate(ResourceTemplate template) { TemplateIntrospector introspector = TemplateIntrospector.newInstance(template); assertThat(introspector.template(),sameInstance(template)); assertThat(introspector.isResource(),equalTo(true)); assertThat(introspector.isContainer(),equalTo(false)); assertThat(introspector.isBasicContainer(),equalTo(false)); assertThat(introspector.isMembershipAwareContainer(),equalTo(false)); assertThat(introspector.isDirectContainer(),equalTo(false)); assertThat(introspector.isIndirectContainer(),equalTo(false)); }
@Override public void visitBasicContainerTemplate(BasicContainerTemplate template) { TemplateIntrospector introspector = TemplateIntrospector.newInstance(template); assertThat(introspector.template(),sameInstance((ResourceTemplate)template)); assertThat(introspector.isResource(),equalTo(false)); assertThat(introspector.isContainer(),equalTo(true)); assertThat(introspector.isBasicContainer(),equalTo(true)); assertThat(introspector.isMembershipAwareContainer(),equalTo(false)); assertThat(introspector.isDirectContainer(),equalTo(false)); assertThat(introspector.isIndirectContainer(),equalTo(false)); }
@Override public void visitDirectContainerTemplate(DirectContainerTemplate template) { TemplateIntrospector introspector = TemplateIntrospector.newInstance(template); assertThat(introspector.template(),sameInstance((ResourceTemplate)template)); assertThat(introspector.isResource(),equalTo(false)); assertThat(introspector.isContainer(),equalTo(true)); assertThat(introspector.isBasicContainer(),equalTo(false)); assertThat(introspector.isMembershipAwareContainer(),equalTo(true)); assertThat(introspector.isDirectContainer(),equalTo(true)); assertThat(introspector.isIndirectContainer(),equalTo(false)); assertThat(introspector.getMembershipPredicate(),equalTo(template.membershipPredicate())); assertThat(introspector.getMembershipRelation(),equalTo(template.membershipRelation())); }
@Override public void visitIndirectContainerTemplate(IndirectContainerTemplate template) { TemplateIntrospector introspector = TemplateIntrospector.newInstance(template); assertThat(introspector.template(),sameInstance((ResourceTemplate)template)); assertThat(introspector.isResource(),equalTo(false)); assertThat(introspector.isContainer(),equalTo(true)); assertThat(introspector.isBasicContainer(),equalTo(false)); assertThat(introspector.isMembershipAwareContainer(),equalTo(true)); assertThat(introspector.isDirectContainer(),equalTo(false)); assertThat(introspector.isIndirectContainer(),equalTo(true)); assertThat(introspector.getMembershipPredicate(),equalTo(template.membershipPredicate())); assertThat(introspector.getMembershipRelation(),equalTo(template.membershipRelation())); assertThat(introspector.getInsertedContentRelation(),equalTo(template.insertedContentRelation())); }
private URI getIndirectId(Container container, DataSet dataSet) { TemplateIntrospector introspector= TemplateIntrospector. newInstance( this.templateManagementService. templateOfId(container.id().templateId())); if(!introspector.isIndirectContainer()) { return null; } URI insertedContentRelation=introspector.getInsertedContentRelation(); IndirectIdCollector collector= new IndirectIdCollector( false, insertedContentRelation, getInsertedContentRelationProperty(dataSet,insertedContentRelation)); return collector.getIndirectId(); }
DefaultPublicResource createResource(Endpoint endpoint) { if(endpoint==null) { return null; } if(endpoint.deleted()!=null) { return new DefaultGonePublicResource(this.applicationContext,endpoint); } ResourceTemplate resourceTemplate = resolveTemplate(endpoint); TemplateIntrospector introspector = TemplateIntrospector.newInstance(resourceTemplate); DefaultPublicResource resource=null; if(introspector.isBasicContainer()) { resource=new DefaultPublicBasicContainer(this.applicationContext,endpoint); } else if(introspector.isDirectContainer()) { resource=new DefaultPublicDirectContainer(this.applicationContext,endpoint); } else if(introspector.isIndirectContainer()) { resource=new DefaultPublicIndirectContainer(this.applicationContext,endpoint); } else { // Assume RDF source resource=new DefaultPublicRDFSource(this.applicationContext,endpoint); } return resource; }