Skip to content

Package: Types

Types

Coverage

1: /*
2: * JOPA
3: * Copyright (C) 2023 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.*;
21: import java.util.Set;
22:
23: /**
24: * Represents the set of ontological types to which an entity belongs.
25: * <p>
26: * Note that this set does NOT contain the primary type mapped by the entity class itself.
27: * <p>
28: * The annotated field has to be a {@link Set} of valid identifier types, e.g. {@link String}, {@link java.net.URI}.
29: */
30: @Documented
31: @Retention(RetentionPolicy.RUNTIME)
32: @Target(ElementType.FIELD)
33: public @interface Types {
34:
35: FetchType fetchType() default FetchType.LAZY;
36:
37: /**
38: * Denotes a member that is inferred (true) using the OWL reasoner or just asserted (false).
39: *
40: * @return Whether this property is read only
41: */
42: boolean readOnly() default false;
43: }