Skip to content

Package: MapAttribute

MapAttribute

Coverage

1: /**
2: * Copyright (C) 2016 Czech Technical University in Prague
3: *
4: * This program is free software: you can redistribute it and/or modify it under
5: * the terms of the GNU General Public License as published by the Free Software
6: * Foundation, either version 3 of the License, or (at your option) any
7: * later version.
8: *
9: * This program is distributed in the hope that it will be useful, but WITHOUT
10: * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
11: * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
12: * details. You should have received a copy of the GNU General Public License
13: * along with this program. If not, see <http://www.gnu.org/licenses/>.
14: */
15: package cz.cvut.kbss.jopa.model.metamodel;
16:
17: /**
18: * Instances of the type MapAttribute represent persistent java.util.Map-valued
19: * attributes.
20: *
21: * @param <X>
22: * The type the represented Map belongs to
23: * @param <K>
24: * The type of the key of the represented Map
25: * @param <V>
26: * The type of the value of the represented Map
27: */
28: public interface MapAttribute<X, K, V> extends
29:                 PluralAttribute<X, java.util.Map<K, V>, V> {
30:         /**
31:          * Return the Java type of the map key.
32:          *
33:          * @return Java key type
34:          */
35:         Class<K> getKeyJavaType();
36:
37:         /**
38:          * Return the type representing the key type of the map.
39:          *
40:          * @return type representing key type
41:          */
42:         Type<K> getKeyType();
43: }