View Javadoc

1   /*
2    * Copyright James Leigh (c) 2006, 2007.
3    *
4    * Licensed under the Aduna BSD-style license.
5    */
6   package org.openrdf.repository.augur.model;
7   
8   import org.openrdf.model.Resource;
9   import org.openrdf.model.Value;
10  import org.openrdf.query.algebra.TupleExpr;
11  import org.openrdf.query.algebra.Var;
12  
13  /**
14   * AugurNode that have been created from a statement pattern, carring over an
15   * object resource.
16   * 
17   * @author James Leigh
18   * 
19   */
20  public class AugurObjectNode extends CachableAugurNode {
21  
22  	@Override
23  	protected TupleExpr createTuplePattern(Var subjVar, Var predVar, Var objVar, String contextName, Resource... contexts) {
24  		AResource carriedOver = (AResource) objVar.getValue();
25  		String objectName = carriedOver.getName();
26  		setObjectName(objectName);
27  		Var var = new Var(objectName, null);
28  		return super.createTuplePattern(subjVar, predVar, var, contextName, contexts);
29  	}
30  
31  	@Override
32  	public Resource getCarriedOverResource(Resource subj, Value obj) {
33  		return (Resource) obj;
34  	}
35  }