All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.ontoware.rdf2go.model.impl.StatementImpl Maven / Gradle / Ivy

Go to download

RDF2go is an implementation-independent Java API with the design goals: portability (hence the name), performance and ease of implementation. This project was started at FZI Forschungszentrum Informatik Karlsruhe, Germany - www.fzi.de

The newest version!
/**
 * LICENSE INFORMATION
 *
 * Copyright 2005-2008 by FZI (http://www.fzi.de).
 * Licensed under a BSD license (http://www.opensource.org/licenses/bsd-license.php)
 *  = Max Völkel
 *  = FZI Forschungszentrum Informatik Karlsruhe, Karlsruhe, Germany
 *  = 2010
 *
 * Further project information at http://semanticweb.org/wiki/RDF2Go
 */

package org.ontoware.rdf2go.model.impl;

import org.ontoware.rdf2go.model.Statement;
import org.ontoware.rdf2go.model.node.Node;
import org.ontoware.rdf2go.model.node.Resource;
import org.ontoware.rdf2go.model.node.URI;

/**
 * StatementImpl is an implementation of Statement, so there are all necessary
 * constructors, and methods for getting the type and the parts of the statement
 * 
 * @author mvo
 */

public class StatementImpl extends AbstractStatement implements Statement {

	/**
     * 
     */
    private static final long serialVersionUID = 533033017623140349L;

	protected Resource subject;

	protected URI predicate;

	private Node object;

	private URI context;

	/**
	 * builds a new statement
	 * 
	 * @param subject
	 *            The subject of this statement
	 * @param predicate
	 *            The proerty of this statement
	 * @param object
	 *            The object of this statement
	 */
	public StatementImpl(URI context, Resource subject, URI predicate, Node object) {
		this.context = context;
		this.subject = subject;
		this.predicate = predicate;
		this.object = object;
	}

	/*
	 * (non-Javadoc)
	 * 
	 * @see org.ontoware.rdf2go.Statement#getSubject()
	 */
	@Override
    public Resource getSubject() {
		return this.subject;
	}

	/*
	 * (non-Javadoc)
	 * 
	 * @see org.ontoware.rdf2go.Statement#getPredicate()
	 */
	@Override
    public URI getPredicate() {
		return this.predicate;
	}

	/*
	 * (non-Javadoc)
	 * 
	 * @see org.ontoware.rdf2go.Statement#getObject()
	 */
	@Override
    public Node getObject() {
		return this.object;
	}

	@Override
	public String toString() {
		return getSubject() + " - " + getPredicate() + " - " + getObject();
	}

	@Override
    public URI getContext() {
		return this.context;
	}

	@Override
	public int hashCode() {
		return this.subject.hashCode() + this.predicate.hashCode() + this.object.hashCode();
	}

	@Override
	public boolean equals(Object other) {
		if (other instanceof Statement) {
			Statement o = (Statement) other;
			return this.getSubject().equals(o.getSubject())
					&& this.getPredicate().equals(o.getPredicate())
					&& this.getObject().equals(o.getObject());
		}
		return false;
	}


}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy