blob: 15c982446e43a6670f2d4a6948916d2c6761acb8 [file] [log] [blame]
/*
* Copyright (c) 2008, 2018 Oracle and/or its affiliates. All rights reserved.
*
* This program and the accompanying materials are made available under the
* terms of the Eclipse Public License v. 2.0 which is available at
* http://www.eclipse.org/legal/epl-2.0,
* or the Eclipse Distribution License v. 1.0 which is available at
* http://www.eclipse.org/org/documents/edl-v10.php.
*
* SPDX-License-Identifier: EPL-2.0 OR BSD-3-Clause
*/
// Contributors:
// Linda DeMichiel - Java Persistence 2.1
// Linda DeMichiel - Java Persistence 2.0
package javax.persistence.metamodel;
/**
* Instances of the type <code>MapAttribute</code> represent
* persistent <code>java.util.Map</code>-valued attributes.
*
* @param <X> The type the represented Map belongs to
* @param <K> The type of the key of the represented Map
* @param <V> The type of the value of the represented Map
*
* @since Java Persistence 2.0
*
*/
public interface MapAttribute<X, K, V>
extends PluralAttribute<X, java.util.Map<K, V>, V> {
/**
* Return the Java type of the map key.
* @return Java key type
*/
Class<K> getKeyJavaType();
/**
* Return the type representing the key type of the map.
* @return type representing key type
*/
Type<K> getKeyType();
}