public static IndividualReference<RelativeIndividualId,RelativeIndividual> relative(ManagedIndividualId parentId, URI path) { return relative(RelativeIndividualId.createId(parentId,path)); }
@Override public ManagedIndividual manage(final ManagedIndividualId id) throws DataSetModificationException { final List<URI> newIds=getNewIds(id); newIds.remove(SELF); final ManagedIndividual self=replace(SELF,id,ManagedIndividual.class); for(final URI newId:newIds) { final RelativeIndividualId relativeId=RelativeIndividualId.createId(id, newId); replace(newId,relativeId,RelativeIndividual.class); } return self; }
/** * {@inheritDoc} */ @Override public IndividualHelper relativeIndividual(final Name<?> name, final String managerId, final URI path) { final ManagedIndividualId parentId = ManagedIndividualId.createId(name,managerId); final RelativeIndividualId individualId=RelativeIndividualId.createId(parentId, path); final RelativeIndividual individual = this.dataSet.individual(individualId, RelativeIndividual.class); return new IndividualHelperImpl(individual); }
@Override public void visitRelativeIndividualReference(RelativeIndividualReference reference) { assertThat(reference.ref(),equalTo(RelativeIndividualId.createId(MANAGED_INDIVIDUAL_ID, RELATIVE_PATH))); } }
protected static RelativeIndividualId relativeIndividualId(String resourceName, String managerId, URI relativePath) { return RelativeIndividualId.createId(managedIndividualId(resourceName, managerId), relativePath); }
private static RelativeIndividual relativeIndividual(DataSet dataSet, String name, String managerId, String path) { return dataSet.individual(RelativeIndividualId.createId(managedIndividualId(name,managerId), URI.create(path)), RelativeIndividual.class); }
private static RelativeIndividual relativeIndividual(DataSet dataSet, String name, String managerId, String path) { return dataSet.individual(RelativeIndividualId.createId(managedIndividualId(name,managerId), URI.create(path)), RelativeIndividual.class); }
private Individual<?, ?> resolveURIRef(URIRef node) { if(this.resolution.isTransient()) { return this.dataSet.individual(this.resolution.realURI(),NewIndividual.class); } URI location = node.getIdentity(); for(URI identity:URIHelper.getParents(location)) { ManagedIndividualId resourceId = this.resourceResolver.resolveLocation(identity); if(resourceId!=null) { if(identity.equals(location)) { return this.dataSet.individual(resourceId, ManagedIndividual.class); } else { URI relativePath = identity.relativize(location); RelativeIndividualId relativeId = RelativeIndividualId.createId(resourceId, relativePath); return this.dataSet.individual(relativeId,RelativeIndividual.class); } } } return this.dataSet.individual(location,ExternalIndividual.class); }
/** * {@inheritDoc} */ @Override public IndividualPropertyHelper withIndividual(Name<?> id, String managerId, URI path) { if(id!=null) { ManagedIndividualId parentId=ManagedIndividualId.createId(id,managerId); RelativeIndividualId individualId=RelativeIndividualId.createId(parentId, path); Individual<?,?> srcIndividual= this.individual. dataSet(). individual( individualId, RelativeIndividual.class); this.individual.addValue(this.propertyId,srcIndividual); } return new IndividualPropertyHelperImpl(new IndividualHelperImpl(this.individual),this); }
@Test public void testTypes$discardRelativeIndividual() { DataSet data=exampleDataSet(); Individual<?,?> individual = data.individualOfId(BLANK_NODE); IndividualHelperImpl sut = new IndividualHelperImpl(individual); RelativeIndividual foundIndividual = data.individual(RelativeIndividualId.createId(ManagedIndividualId.createId(RESOURCE_NAME, MANAGER_ID),RELATIVE_PATH), RelativeIndividual.class); individual.addValue(RDF.TYPE.as(URI.class), foundIndividual); assertThat(sut.types(),hasSize(0)); }