/******************************************************************************* * Copyright (c) 2007, 2010 Association for Decentralized Information Management * in Industry THTH ry. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: * VTT Technical Research Centre of Finland - initial API and implementation *******************************************************************************/ package org.simantics.db.layer0.variable; import org.simantics.databoard.Bindings; import org.simantics.db.Resource; import org.simantics.db.WriteGraph; import org.simantics.db.exception.DatabaseException; import org.simantics.layer0.Layer0; public class StandardResourceVariableSpaceManipulator implements VariableSpaceManipulator { final Variable target; public StandardResourceVariableSpaceManipulator(Variable target) { this.target = target; } public Variable createVariable(WriteGraph graph, String rvi) throws DatabaseException { return null; } public Variable createProperty(WriteGraph graph, String name) throws DatabaseException { if("HasDescription".equals(name)) { Layer0 l0 = Layer0.getInstance(graph); Resource targetResource = target.getInterface(graph, Resource.class); graph.claimLiteral(targetResource, l0.HasDescription, "", Bindings.STRING); return target.getProperty(graph, "HasDescription"); } return null; } public Variable createChild(WriteGraph graph, String name, Object content) throws DatabaseException { return null; } @Override public void apply(WriteGraph graph, Modification modification) throws DatabaseException { for(PropertyCreationData data : modification.newProperties) { createProperty(graph, data.name); } } }