Skip to contentPackage: Sequence
Sequence
Coverage
1: /*
2: * JOPA
3: * Copyright (C) 2024 Czech Technical University in Prague
4: *
5: * This library is free software; you can redistribute it and/or
6: * modify it under the terms of the GNU Lesser General Public
7: * License as published by the Free Software Foundation; either
8: * version 3.0 of the License, or (at your option) any later version.
9: *
10: * This library is distributed in the hope that it will be useful,
11: * but WITHOUT ANY WARRANTY; without even the implied warranty of
12: * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13: * Lesser General Public License for more details.
14: *
15: * You should have received a copy of the GNU Lesser General Public
16: * License along with this library.
17: */
18: package cz.cvut.kbss.jopa.model.annotations;
19:
20: import java.lang.annotation.Documented;
21: import java.lang.annotation.ElementType;
22: import java.lang.annotation.Retention;
23: import java.lang.annotation.RetentionPolicy;
24: import java.lang.annotation.Target;
25:
26: import cz.cvut.kbss.jopa.model.SequencesVocabulary;
27:
28: /**
29: * Specifies mapping of a sequence of items.
30: */
31: @Documented
32: @Retention(RetentionPolicy.RUNTIME)
33: @Target({ElementType.FIELD, ElementType.METHOD})
34: public @interface Sequence {
35:
36: /**
37: * Defines the type of the sequence.
38: *
39: * @return Type of sequence
40: */
41: SequenceType type() default SequenceType.referenced;
42:
43: /**
44: * IRI of the class that represents the 'OWLList' concept.
45: * <p>
46: * Relevant only for {@link SequenceType#referenced} type.
47: *
48: * @return OWLList class IRI
49: */
50: String listClassIRI() default SequencesVocabulary.s_c_OWLList;
51:
52: /**
53: * IRI of the object property that represents the 'hasContents' role.
54: * <p>
55: * Relevant only for {@link SequenceType#referenced} type.
56: *
57: * @return hasContents property IRI
58: */
59: String hasContentsPropertyIRI() default SequencesVocabulary.s_p_hasContents;
60:
61: /**
62: * URI of the object property that represents the 'hasNext' role.
63: *
64: * @return hasNext property IRI
65: */
66: String hasNextPropertyIRI() default SequencesVocabulary.s_p_hasNext;
67: }