/*******************************************************************************
* Copyright (c) 2004, 2007-2008 IBM Corporation and Cambridge Semantics Incorporated.
* 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
*
* File: $Source$
* Created by: Generated Source from org.openanzo.jdbc.utils.opgen.jet
* Created on: Generated Source from org.openanzo.jdbc.utils.opgen.jet
* Revision: $Id$
*
* Contributors:
* IBM Corporation - initial API and implementation
* Cambridge Semantics Incorporated - Fork to Anzo
*******************************************************************************/
package org.openanzo.ontologies.openanzo;
/**
* Implementation of {@link org.openanzo.ontologies.openanzo.Precondition}
* Use the org.openanzo.ontologies.openanzo.AnzoFactory to create instances of this class.
* <p>(URI: http://openanzo.org/ontologies/2008/07/Anzo#Precondition)</p>
* <br>
*/
public class PreconditionImpl extends org.openanzo.rdf.jastor.ThingImpl implements org.openanzo.ontologies.openanzo.Precondition {
private ThingStatementListener _listener = null;
protected static final org.openanzo.rdf.URI datasetProperty = org.openanzo.rdf.jastor.ThingFactory.valueFactory.createURI("http://openanzo.org/ontologies/2008/07/Anzo#dataset");
protected static final org.openanzo.rdf.URI queryProperty = org.openanzo.rdf.jastor.ThingFactory.valueFactory.createURI("http://openanzo.org/ontologies/2008/07/Anzo#query");
protected static final org.openanzo.rdf.URI resultProperty = org.openanzo.rdf.jastor.ThingFactory.valueFactory.createURI("http://openanzo.org/ontologies/2008/07/Anzo#result");
PreconditionImpl(org.openanzo.rdf.Resource resource,org.openanzo.rdf.URI namedGraphUri, org.openanzo.rdf.IDataset dataset) throws org.openanzo.rdf.jastor.JastorException {
super(resource, namedGraphUri, dataset);
_listener = new ThingStatementListener();
}
static PreconditionImpl getPrecondition(org.openanzo.rdf.Resource resource,org.openanzo.rdf.URI namedGraphUri, org.openanzo.rdf.IDataset dataset) throws org.openanzo.rdf.jastor.JastorException {
if(namedGraphUri==null||!dataset.containsNamedGraph(namedGraphUri) ){
namedGraphUri=null;
for(org.openanzo.rdf.Statement stmt:dataset.find(resource, org.openanzo.rdf.vocabulary.RDF.TYPE, Precondition.TYPE)){
namedGraphUri=stmt.getNamedGraphUri();
}
if(namedGraphUri==null)return null;
}
return new PreconditionImpl(resource, namedGraphUri, dataset);
}
static PreconditionImpl createPrecondition(org.openanzo.rdf.Resource resource,org.openanzo.rdf.URI namedGraphUri, org.openanzo.rdf.IDataset dataset) throws org.openanzo.rdf.jastor.JastorException {
PreconditionImpl impl = new PreconditionImpl(resource, namedGraphUri,dataset);
if (!impl._dataset.contains(impl._resource, org.openanzo.rdf.vocabulary.RDF.TYPE, Precondition.TYPE, namedGraphUri))
impl._dataset.add(impl._resource, org.openanzo.rdf.vocabulary.RDF.TYPE, Precondition.TYPE, namedGraphUri);
impl.addSuperTypes();
impl.addHasValueValues();
return impl;
}
void addSuperTypes() {
}
void addHasValueValues() {
}
public java.util.Collection<org.openanzo.rdf.Statement> listStatements() {
java.util.Collection<org.openanzo.rdf.Statement> list = new java.util.HashSet<org.openanzo.rdf.Statement>();
list.addAll(_dataset.find(_resource, datasetProperty, null, _graph.getNamedGraphUri()));
list.addAll(_dataset.find(_resource, queryProperty, null, _graph.getNamedGraphUri()));
list.addAll(_dataset.find(_resource, resultProperty, null, _graph.getNamedGraphUri()));
list.addAll(_dataset.find(_resource, org.openanzo.rdf.vocabulary.RDF.TYPE, org.openanzo.ontologies.openanzo.Precondition.TYPE, _graph.getNamedGraphUri()));
return list;
}
/**
* Clears all values for 'dataset'.
* @param includeEntireDataset Delete the properties from the entire dataset, and not just the namedgraph
* @throws org.openanzo.rdf.jastor.JastorException
*/
@SuppressWarnings("all")
public void clearDataset(boolean includeEntireDataset) throws org.openanzo.rdf.jastor.JastorException{
_dataset.remove(_resource, datasetProperty, null,(includeEntireDataset)?null:_graph.getNamedGraphUri());
}
// generating for property: http://openanzo.org/ontologies/2008/07/Anzo#dataset
public org.openanzo.ontologies.openanzo.Dataset getDataset(boolean includeEntireDataset) throws org.openanzo.rdf.jastor.JastorException {
java.util.Collection<org.openanzo.rdf.Statement> result = null;
result=_dataset.find(includeEntireDataset, _resource, datasetProperty, null,_graph.getNamedGraphUri());
if(result.isEmpty()) return null;
org.openanzo.rdf.Statement statement = result.iterator().next();
if (statement == null)
return null;
if (!((statement.getObject() instanceof org.openanzo.rdf.URI)||(statement.getObject() instanceof org.openanzo.rdf.BlankNode)))
throw new org.openanzo.rdf.jastor.InvalidNodeException(uri() + ": dataset getProperty() in org.openanzo.ontologies.openanzo.Precondition model not Resource", statement.getObject());
org.openanzo.rdf.Resource resource = (org.openanzo.rdf.Resource)statement.getObject();
return org.openanzo.ontologies.openanzo.AnzoFactory.getDataset(resource,(includeEntireDataset)?null:_graph.getNamedGraphUri(),_dataset);
}
public org.openanzo.ontologies.openanzo.Dataset getDataset() throws org.openanzo.rdf.jastor.JastorException {
return getDataset(false);
}
public void setDataset(org.openanzo.ontologies.openanzo.Dataset dataset) throws org.openanzo.rdf.jastor.JastorException {
_dataset.remove(_resource, datasetProperty, null,_graph.getNamedGraphUri());
if (dataset != null) {
_dataset.add(_resource, datasetProperty, dataset.resource(),_graph.getNamedGraphUri());
}
}
public org.openanzo.ontologies.openanzo.Dataset setDataset() throws org.openanzo.rdf.jastor.JastorException {
_dataset.remove(_resource, datasetProperty, null,_graph.getNamedGraphUri());
org.openanzo.ontologies.openanzo.Dataset dataset = org.openanzo.ontologies.openanzo.AnzoFactory.createDataset(org.openanzo.rdf.jastor.ThingFactory.valueFactory.createBNode(),_graph.getNamedGraphUri(),_dataset);
_dataset.add(_resource, datasetProperty, dataset.resource(),_graph.getNamedGraphUri());
return dataset;
}
public org.openanzo.ontologies.openanzo.Dataset setDataset(org.openanzo.rdf.Resource resource) throws org.openanzo.rdf.jastor.JastorException {
if (_dataset.contains(_resource, datasetProperty, null,_graph.getNamedGraphUri())) {
_dataset.remove(_resource, datasetProperty, null,_graph.getNamedGraphUri());
}
org.openanzo.ontologies.openanzo.Dataset dataset = org.openanzo.ontologies.openanzo.AnzoFactory.getDataset(resource,_graph.getNamedGraphUri(),_dataset);
_dataset.add(_resource, datasetProperty, dataset.resource(),_graph.getNamedGraphUri());
return dataset;
}
/**
* Clears all values for 'query'.
* @param includeEntireDataset Delete the properties from the entire dataset, and not just the namedgraph
* @throws org.openanzo.rdf.jastor.JastorException
*/
@SuppressWarnings("all")
public void clearQuery(boolean includeEntireDataset) throws org.openanzo.rdf.jastor.JastorException{
_dataset.remove(_resource, queryProperty, null,(includeEntireDataset)?null:_graph.getNamedGraphUri());
}
// generating for property: http://openanzo.org/ontologies/2008/07/Anzo#query
public org.openanzo.ontologies.openanzo.Query getQuery(boolean includeEntireDataset) throws org.openanzo.rdf.jastor.JastorException {
java.util.Collection<org.openanzo.rdf.Statement> result = null;
result=_dataset.find(includeEntireDataset, _resource, queryProperty, null,_graph.getNamedGraphUri());
if(result.isEmpty()) return null;
org.openanzo.rdf.Statement statement = result.iterator().next();
if (statement == null)
return null;
if (!((statement.getObject() instanceof org.openanzo.rdf.URI)||(statement.getObject() instanceof org.openanzo.rdf.BlankNode)))
throw new org.openanzo.rdf.jastor.InvalidNodeException(uri() + ": query getProperty() in org.openanzo.ontologies.openanzo.Precondition model not Resource", statement.getObject());
org.openanzo.rdf.Resource resource = (org.openanzo.rdf.Resource)statement.getObject();
return org.openanzo.ontologies.openanzo.AnzoFactory.getQuery(resource,(includeEntireDataset)?null:_graph.getNamedGraphUri(),_dataset);
}
public org.openanzo.ontologies.openanzo.Query getQuery() throws org.openanzo.rdf.jastor.JastorException {
return getQuery(false);
}
public void setQuery(org.openanzo.ontologies.openanzo.Query query) throws org.openanzo.rdf.jastor.JastorException {
_dataset.remove(_resource, queryProperty, null,_graph.getNamedGraphUri());
if (query != null) {
_dataset.add(_resource, queryProperty, query.resource(),_graph.getNamedGraphUri());
}
}
public org.openanzo.ontologies.openanzo.Query setQuery() throws org.openanzo.rdf.jastor.JastorException {
_dataset.remove(_resource, queryProperty, null,_graph.getNamedGraphUri());
org.openanzo.ontologies.openanzo.Query query = org.openanzo.ontologies.openanzo.AnzoFactory.createQuery(org.openanzo.rdf.jastor.ThingFactory.valueFactory.createBNode(),_graph.getNamedGraphUri(),_dataset);
_dataset.add(_resource, queryProperty, query.resource(),_graph.getNamedGraphUri());
return query;
}
public org.openanzo.ontologies.openanzo.Query setQuery(org.openanzo.rdf.Resource resource) throws org.openanzo.rdf.jastor.JastorException {
if (_dataset.contains(_resource, queryProperty, null,_graph.getNamedGraphUri())) {
_dataset.remove(_resource, queryProperty, null,_graph.getNamedGraphUri());
}
org.openanzo.ontologies.openanzo.Query query = org.openanzo.ontologies.openanzo.AnzoFactory.getQuery(resource,_graph.getNamedGraphUri(),_dataset);
_dataset.add(_resource, queryProperty, query.resource(),_graph.getNamedGraphUri());
return query;
}
/**
* Clears all values for 'result'.
* @param includeEntireDataset Delete the properties from the entire dataset, and not just the namedgraph
* @throws org.openanzo.rdf.jastor.JastorException
*/
@SuppressWarnings("all")
public void clearResult(boolean includeEntireDataset) throws org.openanzo.rdf.jastor.JastorException{
_dataset.remove(_resource, resultProperty, null,(includeEntireDataset)?null:_graph.getNamedGraphUri());
}
// generating for property: http://openanzo.org/ontologies/2008/07/Anzo#result
public org.openanzo.ontologies.openanzo.Result getResult(boolean includeEntireDataset) throws org.openanzo.rdf.jastor.JastorException {
java.util.Collection<org.openanzo.rdf.Statement> result = null;
result=_dataset.find(includeEntireDataset, _resource, resultProperty, null,_graph.getNamedGraphUri());
if(result.isEmpty()) return null;
org.openanzo.rdf.Statement statement = result.iterator().next();
if (statement == null)
return null;
if (!((statement.getObject() instanceof org.openanzo.rdf.URI)||(statement.getObject() instanceof org.openanzo.rdf.BlankNode)))
throw new org.openanzo.rdf.jastor.InvalidNodeException(uri() + ": result getProperty() in org.openanzo.ontologies.openanzo.Precondition model not Resource", statement.getObject());
org.openanzo.rdf.Resource resource = (org.openanzo.rdf.Resource)statement.getObject();
return org.openanzo.ontologies.openanzo.AnzoFactory.getResult(resource,(includeEntireDataset)?null:_graph.getNamedGraphUri(),_dataset);
}
public org.openanzo.ontologies.openanzo.Result getResult() throws org.openanzo.rdf.jastor.JastorException {
return getResult(false);
}
public void setResult(org.openanzo.ontologies.openanzo.Result result) throws org.openanzo.rdf.jastor.JastorException {
_dataset.remove(_resource, resultProperty, null,_graph.getNamedGraphUri());
if (result != null) {
_dataset.add(_resource, resultProperty, result.resource(),_graph.getNamedGraphUri());
}
}
public org.openanzo.ontologies.openanzo.Result setResult() throws org.openanzo.rdf.jastor.JastorException {
_dataset.remove(_resource, resultProperty, null,_graph.getNamedGraphUri());
org.openanzo.ontologies.openanzo.Result result = org.openanzo.ontologies.openanzo.AnzoFactory.createResult(org.openanzo.rdf.jastor.ThingFactory.valueFactory.createBNode(),_graph.getNamedGraphUri(),_dataset);
_dataset.add(_resource, resultProperty, result.resource(),_graph.getNamedGraphUri());
return result;
}
public org.openanzo.ontologies.openanzo.Result setResult(org.openanzo.rdf.Resource resource) throws org.openanzo.rdf.jastor.JastorException {
if (_dataset.contains(_resource, resultProperty, null,_graph.getNamedGraphUri())) {
_dataset.remove(_resource, resultProperty, null,_graph.getNamedGraphUri());
}
org.openanzo.ontologies.openanzo.Result result = org.openanzo.ontologies.openanzo.AnzoFactory.getResult(resource,_graph.getNamedGraphUri(),_dataset);
_dataset.add(_resource, resultProperty, result.resource(),_graph.getNamedGraphUri());
return result;
}
protected java.util.concurrent.CopyOnWriteArraySet<PreconditionListener> listeners = new java.util.concurrent.CopyOnWriteArraySet<PreconditionListener>();
public void registerListener(org.openanzo.rdf.jastor.ThingListener listener) {
if (!(listener instanceof PreconditionListener)) {
throw new org.openanzo.rdf.jastor.JastorException("Listener class not of proper type");
}
if(listeners.size()==0){
_dataset.registerListener(_listener);
}
PreconditionListener list = (PreconditionListener)listener;
if(!listeners.contains(list)){
listeners.add(list);
}
}
public void unregisterListener(org.openanzo.rdf.jastor.ThingListener listener) {
if (!(listener instanceof PreconditionListener)) {
throw new org.openanzo.rdf.jastor.JastorException("Listener class not of proper type");
}
PreconditionListener list = (PreconditionListener)listener;
if(listeners.contains(list)){
listeners.remove(list);
}
if(listeners.size()==0){
_dataset.unregisterListener(_listener);
}
}
protected class ThingStatementListener implements org.openanzo.rdf.IStatementListener<org.openanzo.rdf.IDataset> {
public void statementsAdded(org.openanzo.rdf.IDataset dataset, org.openanzo.rdf.Statement...statements) {
for(org.openanzo.rdf.Statement statement:statements){
if (statement.getSubject().equals(resource())){
if (statement.getPredicate().equals(datasetProperty)) {
if (!(statement.getObject() instanceof org.openanzo.rdf.Resource))
return;
for(PreconditionListener listener : listeners){
listener.datasetChanged(org.openanzo.ontologies.openanzo.PreconditionImpl.this);
}
}
if (statement.getPredicate().equals(queryProperty)) {
if (!(statement.getObject() instanceof org.openanzo.rdf.Resource))
return;
for(PreconditionListener listener : listeners){
listener.queryChanged(org.openanzo.ontologies.openanzo.PreconditionImpl.this);
}
}
if (statement.getPredicate().equals(resultProperty)) {
if (!(statement.getObject() instanceof org.openanzo.rdf.Resource))
return;
for(PreconditionListener listener : listeners){
listener.resultChanged(org.openanzo.ontologies.openanzo.PreconditionImpl.this);
}
}
}}
}
public void statementsRemoved(org.openanzo.rdf.IDataset dataset, org.openanzo.rdf.Statement...statements) {
for(org.openanzo.rdf.Statement statement:statements){
if (statement.getSubject().equals(resource())){
if (statement.getPredicate().equals(datasetProperty)) {
if (!(statement.getObject() instanceof org.openanzo.rdf.Resource))
return;
for(PreconditionListener listener : listeners){
listener.datasetChanged(org.openanzo.ontologies.openanzo.PreconditionImpl.this);
}
return;
}
if (statement.getPredicate().equals(queryProperty)) {
if (!(statement.getObject() instanceof org.openanzo.rdf.Resource))
return;
for(PreconditionListener listener : listeners){
listener.queryChanged(org.openanzo.ontologies.openanzo.PreconditionImpl.this);
}
return;
}
if (statement.getPredicate().equals(resultProperty)) {
if (!(statement.getObject() instanceof org.openanzo.rdf.Resource))
return;
for(PreconditionListener listener : listeners){
listener.resultChanged(org.openanzo.ontologies.openanzo.PreconditionImpl.this);
}
return;
}
}
}}
}
}