EndpointsDefault.java

package org.linkedopenactors.rdfpub.domain.commonsrdf;

import java.util.Optional;

import org.apache.commons.rdf.api.Graph;
import org.apache.commons.rdf.api.IRI;
import org.apache.commons.rdf.api.RDF;
import org.linkedopenactors.rdfpub.domain.commonsrdf.vocab.AS;
import org.linkedopenactors.rdfpub.domain.commonsrdf.vocab.Vocabularies;

public class EndpointsDefault extends ActivityPubObjectDefault implements Endpoints {

	private AS as;

	public EndpointsDefault(RDF rdf, IRI subject, Graph graph, GraphToStringConverter graphToStringConverter, SubjectProvider subjectProvider, Vocabularies vocabularies, InstanceProperties instanceProperties) {
		super(rdf, subject, graph, graphToStringConverter, subjectProvider, vocabularies, instanceProperties);
		as = vocabularies.getActivityStreams();
	}

	@Override
	public Optional<IRI> getOauthAuthorizationEndpoint() {
		return getIris(as.oauthAuthorizationEndpoint()).stream().findFirst();
	}
	
	@Override
	public Optional<IRI> getOauthTokenEndpoint() {
		return getIris(as.oauthTokenEndpoint()).stream().findFirst();
	}

	@Override
	public void setOauthAuthorizationEndpoint(IRI oauthAuthorizationEndpoint) {
		set(as.oauthAuthorizationEndpoint(), oauthAuthorizationEndpoint);		
	}

	@Override
	public void setOauthTokenEndpoint(IRI oauthTokenEndpoint) {
		set(as.oauthTokenEndpoint(), oauthTokenEndpoint);		
	}
}