Skip to content

Commit 2d52209

Browse files
author
Olaf Hartig
committed
changed interface TriplePatternFragmentRequest to use the new generic TriplePatternElement interface for subject, predicate, and object.
1 parent 05e6a1b commit 2d52209

File tree

2 files changed

+34
-27
lines changed

2 files changed

+34
-27
lines changed

src/org/linkeddatafragments/fragments/tpf/TriplePatternFragmentRequest.java

Lines changed: 11 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -5,32 +5,30 @@
55
/**
66
* Represents a request of a Triple Pattern Fragment (TPF).
77
*
8+
* @param <TermType> type for representing RDF terms in triple patterns
9+
* @param <VarType> type for representing specific variables in triple patterns
10+
*
811
* @author <a href="http://olafhartig.de">Olaf Hartig</a>
912
*/
10-
public interface TriplePatternFragmentRequest extends LinkedDataFragmentRequest
13+
public interface TriplePatternFragmentRequest<TermType,VarType>
14+
extends LinkedDataFragmentRequest
1115
{
1216
public final static String PARAMETERNAME_SUBJ = "subject";
1317
public final static String PARAMETERNAME_PRED = "predicate";
1418
public final static String PARAMETERNAME_OBJ = "object";
1519

1620
/**
17-
* Returns the subject position of the requested triple pattern (or null,
18-
* in which case the requested triple pattern has an unnamed variable as
19-
* subject).
21+
* Returns the subject position of the requested triple pattern.
2022
*/
21-
String getSubject();
23+
TriplePatternElement<TermType,VarType> getSubject();
2224

2325
/**
24-
* Returns the predicate position of the requested triple pattern (or null,
25-
* in which case the requested triple pattern has an unnamed variable as
26-
* predicate).
26+
* Returns the predicate position of the requested triple pattern.
2727
*/
28-
String getPredicate();
28+
TriplePatternElement<TermType,VarType> getPredicate();
2929

3030
/**
31-
* Returns the object position of the requested triple pattern (or null,
32-
* in which case the requested triple pattern has an unnamed variable as
33-
* object).
31+
* Returns the object position of the requested triple pattern.
3432
*/
35-
String getObject();
33+
TriplePatternElement<TermType,VarType> getObject();
3634
}

src/org/linkeddatafragments/fragments/tpf/TriplePatternFragmentRequestImpl.java

Lines changed: 23 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -7,41 +7,50 @@
77
*
88
* @author <a href="http://olafhartig.de">Olaf Hartig</a>
99
*/
10-
public class TriplePatternFragmentRequestImpl
10+
public class TriplePatternFragmentRequestImpl<TermType,VarType>
1111
extends LinkedDataFragmentRequestBase
12-
implements TriplePatternFragmentRequest
12+
implements TriplePatternFragmentRequest<TermType,VarType>
1313
{
14-
public final String subject;
15-
public final String predicate;
16-
public final String object;
14+
public final TriplePatternElement<TermType,VarType> subject;
15+
public final TriplePatternElement<TermType,VarType> predicate;
16+
public final TriplePatternElement<TermType,VarType> object;
1717

1818
public TriplePatternFragmentRequestImpl( final String fragmentURL,
1919
final String datasetURL,
2020
final boolean pageNumberWasRequested,
2121
final long pageNumber,
22-
final String subject,
23-
final String predicate,
24-
final String object )
22+
final TriplePatternElement<TermType,VarType> subject,
23+
final TriplePatternElement<TermType,VarType> predicate,
24+
final TriplePatternElement<TermType,VarType> object )
2525
{
2626
super( fragmentURL, datasetURL, pageNumberWasRequested, pageNumber );
2727

28+
if ( subject == null )
29+
throw new IllegalArgumentException();
30+
31+
if ( predicate == null )
32+
throw new IllegalArgumentException();
33+
34+
if ( object == null )
35+
throw new IllegalArgumentException();
36+
2837
this.subject = subject;
2938
this.predicate = predicate;
3039
this.object = object;
3140
}
3241

3342
@Override
34-
public String getSubject() {
43+
public TriplePatternElement<TermType,VarType> getSubject() {
3544
return subject;
3645
}
3746

3847
@Override
39-
public String getPredicate() {
48+
public TriplePatternElement<TermType,VarType> getPredicate() {
4049
return predicate;
4150
}
4251

4352
@Override
44-
public String getObject() {
53+
public TriplePatternElement<TermType,VarType> getObject() {
4554
return object;
4655
}
4756

@@ -50,9 +59,9 @@ public String toString()
5059
{
5160
return "TriplePatternFragmentRequest(" +
5261
"class: " + getClass().getName() +
53-
", subject: " + subject +
54-
", predicate: " + predicate +
55-
", object: " + object +
62+
", subject: " + subject.toString() +
63+
", predicate: " + predicate.toString() +
64+
", object: " + object.toString() +
5665
", fragmentURL: " + fragmentURL +
5766
", isPageRequest: " + pageNumberWasRequested +
5867
", pageNumber: " + pageNumber +

0 commit comments

Comments
 (0)