You are viewing a plain text version of this content. The canonical link for it is here.
Posted to scm@geronimo.apache.org by dw...@apache.org on 2009/09/01 23:30:49 UTC
svn commit: r810246 - in
/geronimo/specs/trunk/geronimo-jpa_2.0_spec/src/main/java/javax/persistence:
./ criteria/ metamodel/
Author: dwoods
Date: Tue Sep 1 21:30:47 2009
New Revision: 810246
URL: http://svn.apache.org/viewvc?rev=810246&view=rev
Log:
GERONIMO-4410 JPA2 Spec API updates from 20090831 which were submitted as PFD2. Patch provided by Jeremy Bauer.
Modified:
geronimo/specs/trunk/geronimo-jpa_2.0_spec/src/main/java/javax/persistence/Parameter.java
geronimo/specs/trunk/geronimo-jpa_2.0_spec/src/main/java/javax/persistence/Query.java
geronimo/specs/trunk/geronimo-jpa_2.0_spec/src/main/java/javax/persistence/TupleElement.java
geronimo/specs/trunk/geronimo-jpa_2.0_spec/src/main/java/javax/persistence/TypedQuery.java
geronimo/specs/trunk/geronimo-jpa_2.0_spec/src/main/java/javax/persistence/criteria/AbstractQuery.java
geronimo/specs/trunk/geronimo-jpa_2.0_spec/src/main/java/javax/persistence/criteria/CriteriaQuery.java
geronimo/specs/trunk/geronimo-jpa_2.0_spec/src/main/java/javax/persistence/criteria/QueryBuilder.java
geronimo/specs/trunk/geronimo-jpa_2.0_spec/src/main/java/javax/persistence/criteria/Subquery.java
geronimo/specs/trunk/geronimo-jpa_2.0_spec/src/main/java/javax/persistence/metamodel/IdentifiableType.java
geronimo/specs/trunk/geronimo-jpa_2.0_spec/src/main/java/javax/persistence/metamodel/ManagedType.java
Modified: geronimo/specs/trunk/geronimo-jpa_2.0_spec/src/main/java/javax/persistence/Parameter.java
URL: http://svn.apache.org/viewvc/geronimo/specs/trunk/geronimo-jpa_2.0_spec/src/main/java/javax/persistence/Parameter.java?rev=810246&r1=810245&r2=810246&view=diff
==============================================================================
--- geronimo/specs/trunk/geronimo-jpa_2.0_spec/src/main/java/javax/persistence/Parameter.java (original)
+++ geronimo/specs/trunk/geronimo-jpa_2.0_spec/src/main/java/javax/persistence/Parameter.java Tue Sep 1 21:30:47 2009
@@ -32,6 +32,6 @@
Integer getPosition();
- Class<T> getJavaType();
+ Class<T> getParameterType();
}
Modified: geronimo/specs/trunk/geronimo-jpa_2.0_spec/src/main/java/javax/persistence/Query.java
URL: http://svn.apache.org/viewvc/geronimo/specs/trunk/geronimo-jpa_2.0_spec/src/main/java/javax/persistence/Query.java?rev=810246&r1=810245&r2=810246&view=diff
==============================================================================
--- geronimo/specs/trunk/geronimo-jpa_2.0_spec/src/main/java/javax/persistence/Query.java (original)
+++ geronimo/specs/trunk/geronimo-jpa_2.0_spec/src/main/java/javax/persistence/Query.java Tue Sep 1 21:30:47 2009
@@ -57,30 +57,30 @@
<T> Query setParameter(Parameter<T> param, T value);
- Query setParameter(Parameter<Date> param, Date value, TemporalType temporalType);
-
Query setParameter(Parameter<Calendar> param, Calendar value, TemporalType temporalType);
- Query setParameter(String name, Object value);
+ Query setParameter(Parameter<Date> param, Date value, TemporalType temporalType);
- Query setParameter(String name, Date value, TemporalType temporalType);
+ Query setParameter(String name, Object value);
Query setParameter(String name, Calendar value, TemporalType temporalType);
- Query setParameter(int position, Object value);
+ Query setParameter(String name, Date value, TemporalType temporalType);
- Query setParameter(int position, Date value, TemporalType temporalType);
+ Query setParameter(int position, Object value);
Query setParameter(int position, Calendar value, TemporalType temporalType);
+ Query setParameter(int position, Date value, TemporalType temporalType);
+
Set<Parameter<?>> getParameters();
Parameter<?> getParameter(String name);
- Parameter<?> getParameter(int position);
-
<T> Parameter<T> getParameter(String name, Class<T> type);
+ Parameter<?> getParameter(int position);
+
<T> Parameter<T> getParameter(int position, Class<T> type);
boolean isBound(Parameter<?> param);
Modified: geronimo/specs/trunk/geronimo-jpa_2.0_spec/src/main/java/javax/persistence/TupleElement.java
URL: http://svn.apache.org/viewvc/geronimo/specs/trunk/geronimo-jpa_2.0_spec/src/main/java/javax/persistence/TupleElement.java?rev=810246&r1=810245&r2=810246&view=diff
==============================================================================
--- geronimo/specs/trunk/geronimo-jpa_2.0_spec/src/main/java/javax/persistence/TupleElement.java (original)
+++ geronimo/specs/trunk/geronimo-jpa_2.0_spec/src/main/java/javax/persistence/TupleElement.java Tue Sep 1 21:30:47 2009
@@ -27,7 +27,7 @@
public interface TupleElement<X> {
- Class<X> getJavaType();
+ Class<? extends X> getJavaType();
String getAlias();
}
Modified: geronimo/specs/trunk/geronimo-jpa_2.0_spec/src/main/java/javax/persistence/TypedQuery.java
URL: http://svn.apache.org/viewvc/geronimo/specs/trunk/geronimo-jpa_2.0_spec/src/main/java/javax/persistence/TypedQuery.java?rev=810246&r1=810245&r2=810246&view=diff
==============================================================================
--- geronimo/specs/trunk/geronimo-jpa_2.0_spec/src/main/java/javax/persistence/TypedQuery.java (original)
+++ geronimo/specs/trunk/geronimo-jpa_2.0_spec/src/main/java/javax/persistence/TypedQuery.java Tue Sep 1 21:30:47 2009
@@ -43,23 +43,22 @@
<T> TypedQuery<X> setParameter(Parameter<T> param, T value);
- TypedQuery<X> setParameter(Parameter<Date> param, Date value, TemporalType temporalType);
-
-
TypedQuery<X> setParameter(Parameter<Calendar> param, Calendar value, TemporalType temporalType);
- TypedQuery<X> setParameter(String name, Object value);
+ TypedQuery<X> setParameter(Parameter<Date> param, Date value, TemporalType temporalType);
- TypedQuery<X> setParameter(String name, Date value, TemporalType temporalType);
+ TypedQuery<X> setParameter(String name, Object value);
TypedQuery<X> setParameter(String name, Calendar value, TemporalType temporalType);
- TypedQuery<X> setParameter(int position, Object value);
+ TypedQuery<X> setParameter(String name, Date value, TemporalType temporalType);
- TypedQuery<X> setParameter(int position, Date value, TemporalType temporalType);
+ TypedQuery<X> setParameter(int position, Object value);
TypedQuery<X> setParameter(int position, Calendar value, TemporalType temporalType);
+ TypedQuery<X> setParameter(int position, Date value, TemporalType temporalType);
+
TypedQuery<X> setFlushMode(FlushModeType flushMode);
TypedQuery<X> setLockMode(LockModeType lockMode);
Modified: geronimo/specs/trunk/geronimo-jpa_2.0_spec/src/main/java/javax/persistence/criteria/AbstractQuery.java
URL: http://svn.apache.org/viewvc/geronimo/specs/trunk/geronimo-jpa_2.0_spec/src/main/java/javax/persistence/criteria/AbstractQuery.java?rev=810246&r1=810245&r2=810246&view=diff
==============================================================================
--- geronimo/specs/trunk/geronimo-jpa_2.0_spec/src/main/java/javax/persistence/criteria/AbstractQuery.java (original)
+++ geronimo/specs/trunk/geronimo-jpa_2.0_spec/src/main/java/javax/persistence/criteria/AbstractQuery.java Tue Sep 1 21:30:47 2009
@@ -33,17 +33,17 @@
public interface AbstractQuery<T> {
- <X> Root<X> from(EntityType<X> entity);
-
<X> Root<X> from(Class<X> entityClass);
- Set<Root<?>> getRoots();
+ <X> Root<X> from(EntityType<X> entity);
AbstractQuery<T> where(Expression<Boolean> restriction);
AbstractQuery<T> where(Predicate... restrictions);
AbstractQuery<T> groupBy(Expression<?>... grouping);
+ AbstractQuery<T> groupBy(List<Expression<?>> grouping);
+
AbstractQuery<T> having(Expression<Boolean> restriction);
AbstractQuery<T> having(Predicate... restrictions);
@@ -52,10 +52,12 @@
<U> Subquery<U> subquery(Class<U> type);
+ Set<Root<?>> getRoots();
+
Selection<T> getSelection();
- List<Expression<?>> getGroupList();
Predicate getRestriction();
+ List<Expression<?>> getGroupList();
Predicate getGroupRestriction();
Modified: geronimo/specs/trunk/geronimo-jpa_2.0_spec/src/main/java/javax/persistence/criteria/CriteriaQuery.java
URL: http://svn.apache.org/viewvc/geronimo/specs/trunk/geronimo-jpa_2.0_spec/src/main/java/javax/persistence/criteria/CriteriaQuery.java?rev=810246&r1=810245&r2=810246&view=diff
==============================================================================
--- geronimo/specs/trunk/geronimo-jpa_2.0_spec/src/main/java/javax/persistence/criteria/CriteriaQuery.java (original)
+++ geronimo/specs/trunk/geronimo-jpa_2.0_spec/src/main/java/javax/persistence/criteria/CriteriaQuery.java Tue Sep 1 21:30:47 2009
@@ -43,12 +43,16 @@
CriteriaQuery<T> groupBy(Expression<?>... grouping);
+ CriteriaQuery<T> groupBy(List<Expression<?>> grouping);
+
CriteriaQuery<T> having(Expression<Boolean> restriction);
CriteriaQuery<T> having(Predicate... restrictions);
CriteriaQuery<T> orderBy(Order... o);
+ CriteriaQuery<T> orderBy(List<Order> o);
+
CriteriaQuery<T> distinct(boolean distinct);
List<Order> getOrderList();
Set<ParameterExpression<?>> getParameters();
Modified: geronimo/specs/trunk/geronimo-jpa_2.0_spec/src/main/java/javax/persistence/criteria/QueryBuilder.java
URL: http://svn.apache.org/viewvc/geronimo/specs/trunk/geronimo-jpa_2.0_spec/src/main/java/javax/persistence/criteria/QueryBuilder.java?rev=810246&r1=810245&r2=810246&view=diff
==============================================================================
--- geronimo/specs/trunk/geronimo-jpa_2.0_spec/src/main/java/javax/persistence/criteria/QueryBuilder.java (original)
+++ geronimo/specs/trunk/geronimo-jpa_2.0_spec/src/main/java/javax/persistence/criteria/QueryBuilder.java Tue Sep 1 21:30:47 2009
@@ -73,9 +73,9 @@
Predicate and(Expression<Boolean> x, Expression<Boolean> y);
+ Predicate and(Predicate... restrictions);
Predicate or(Expression<Boolean> x, Expression<Boolean> y);
- Predicate and(Predicate... restrictions);
Predicate or(Predicate... restrictions);
@@ -95,42 +95,42 @@
Predicate isNotNull(Expression<?> x);
Predicate equal(Expression<?> x, Expression<?> y);
+ Predicate equal(Expression<?> x, Object y);
Predicate notEqual(Expression<?> x, Expression<?> y);
- Predicate equal(Expression<?> x, Object y);
Predicate notEqual(Expression<?> x, Object y);
<Y extends Comparable<Y>> Predicate greaterThan(Expression<? extends Y> x, Expression<? extends Y> y);
-
- <Y extends Comparable<Y>> Predicate lessThan(Expression<? extends Y> x, Expression<? extends Y> y);
+ <Y extends Comparable<Y>> Predicate greaterThan(Expression<? extends Y> x, Y y);
<Y extends Comparable<Y>> Predicate greaterThanOrEqualTo(Expression<? extends Y> x, Expression<? extends Y> y);
- <Y extends Comparable<Y>> Predicate lessThanOrEqualTo(Expression<? extends Y> x, Expression<? extends Y> y);
- <Y extends Comparable<Y>> Predicate between(Expression<? extends Y> v, Expression<? extends Y> x, Expression<? extends Y> y);
- <Y extends Comparable<Y>> Predicate greaterThan(Expression<? extends Y> x, Y y);
+ <Y extends Comparable<Y>> Predicate greaterThanOrEqualTo(Expression<? extends Y> x, Y y);
- <Y extends Comparable<Y>> Predicate lessThan(Expression<? extends Y> x, Y y);
+ <Y extends Comparable<Y>> Predicate lessThan(Expression<? extends Y> x, Expression<? extends Y> y);
- <Y extends Comparable<Y>> Predicate greaterThanOrEqualTo(Expression<? extends Y> x, Y y);
+ <Y extends Comparable<Y>> Predicate lessThan(Expression<? extends Y> x, Y y);
+ <Y extends Comparable<Y>> Predicate lessThanOrEqualTo(Expression<? extends Y> x, Expression<? extends Y> y);
<Y extends Comparable<Y>> Predicate lessThanOrEqualTo(Expression<? extends Y> x, Y y);
+ <Y extends Comparable<Y>> Predicate between(Expression<? extends Y> v, Expression<? extends Y> x, Expression<? extends Y> y);
+
<Y extends Comparable<Y>> Predicate between(Expression<? extends Y> v, Y x, Y y);
Predicate gt(Expression<? extends Number> x, Expression<? extends Number> y);
- Predicate lt(Expression<? extends Number> x, Expression<? extends Number> y);
+ Predicate gt(Expression<? extends Number> x, Number y);
Predicate ge(Expression<? extends Number> x, Expression<? extends Number> y);
- Predicate le(Expression<? extends Number> x, Expression<? extends Number> y);
+ Predicate ge(Expression<? extends Number> x, Number y);
- Predicate gt(Expression<? extends Number> x, Number y);
+ Predicate lt(Expression<? extends Number> x, Expression<? extends Number> y);
Predicate lt(Expression<? extends Number> x, Number y);
- Predicate ge(Expression<? extends Number> x, Number y);
+ Predicate le(Expression<? extends Number> x, Expression<? extends Number> y);
Predicate le(Expression<? extends Number> x, Number y);
@@ -138,19 +138,19 @@
<N extends Number> Expression<N> abs(Expression<N> x);
<N extends Number> Expression<N> sum(Expression<? extends N> x, Expression<? extends N> y);
+ <N extends Number> Expression<N> sum(Expression<? extends N> x, N y);
- <N extends Number> Expression<N> prod(Expression<? extends N> x, Expression<? extends N> y);
+ <N extends Number> Expression<N> sum(N x, Expression<? extends N> y);
- <N extends Number> Expression<N> diff(Expression<? extends N> x, Expression<? extends N> y);
- <N extends Number> Expression<N> sum(Expression<? extends N> x, N y);
+ <N extends Number> Expression<N> prod(Expression<? extends N> x, Expression<? extends N> y);
<N extends Number> Expression<N> prod(Expression<? extends N> x, N y);
- <N extends Number> Expression<N> diff(Expression<? extends N> x, N y);
+ <N extends Number> Expression<N> prod(N x, Expression<? extends N> y);
- <N extends Number> Expression<N> sum(N x, Expression<? extends N> y);
+ <N extends Number> Expression<N> diff(Expression<? extends N> x, Expression<? extends N> y);
- <N extends Number> Expression<N> prod(N x, Expression<? extends N> y);
+ <N extends Number> Expression<N> diff(Expression<? extends N> x, N y);
<N extends Number> Expression<N> diff(N x, Expression<? extends N> y);
Expression<Number> quot(Expression<? extends Number> x, Expression<? extends Number> y);
@@ -188,19 +188,20 @@
<T> ParameterExpression<T> parameter(Class<T> paramClass, String name);
+
<C extends Collection<?>> Predicate isEmpty(Expression<C> collection);
<C extends Collection<?>> Predicate isNotEmpty(Expression<C> collection);
- <C extends Collection<?>> Expression<Integer> size(C collection);
<C extends java.util.Collection<?>> Expression<Integer> size(Expression<C> collection);
+ <C extends Collection<?>> Expression<Integer> size(C collection);
+ <E, C extends Collection<E>> Predicate isMember(Expression<E> elem, Expression<C> collection);
<E, C extends Collection<E>> Predicate isMember(E elem, Expression<C> collection);
+ <E, C extends Collection<E>> Predicate isNotMember(Expression<E> elem, Expression<C> collection);
<E, C extends Collection<E>> Predicate isNotMember(E elem, Expression<C> collection);
- <E, C extends Collection<E>> Predicate isMember(Expression<E> elem, Expression<C> collection);
- <E, C extends Collection<E>> Predicate isNotMember(Expression<E> elem, Expression<C> collection);
<V, M extends Map<?, V>> Expression<Collection<V>> values(M map);
@@ -208,18 +209,18 @@
<K, M extends Map<K, ?>> Expression<Set<K>> keys(M map);
Predicate like(Expression<String> x, Expression<String> pattern);
+ Predicate like(Expression<String> x, String pattern);
Predicate like(Expression<String> x, Expression<String> pattern, Expression<Character> escapeChar);
Predicate like(Expression<String> x, Expression<String> pattern, char escapeChar);
- Predicate like(Expression<String> x, String pattern);
Predicate like(Expression<String> x, String pattern, Expression<Character> escapeChar);
Predicate like(Expression<String> x, String pattern, char escapeChar);
Predicate notLike(Expression<String> x, Expression<String> pattern);
+ Predicate notLike(Expression<String> x, String pattern);
Predicate notLike(Expression<String> x, Expression<String> pattern, Expression<Character> escapeChar);
Predicate notLike(Expression<String> x, Expression<String> pattern, char escapeChar);
- Predicate notLike(Expression<String> x, String pattern);
Predicate notLike(Expression<String> x, String pattern, Expression<Character> escapeChar);
Predicate notLike(Expression<String> x, String pattern, char escapeChar);
@@ -246,9 +247,9 @@
Expression<String> upper(Expression<String> x);
Expression<Integer> length(Expression<String> x);
Expression<Integer> locate(Expression<String> x, Expression<String> pattern);
+ Expression<Integer> locate(Expression<String> x, String pattern);
Expression<Integer> locate(Expression<String> x, Expression<String> pattern, Expression<Integer> from);
- Expression<Integer> locate(Expression<String> x, String pattern);
Expression<Integer> locate(Expression<String> x, String pattern, int from);
Modified: geronimo/specs/trunk/geronimo-jpa_2.0_spec/src/main/java/javax/persistence/criteria/Subquery.java
URL: http://svn.apache.org/viewvc/geronimo/specs/trunk/geronimo-jpa_2.0_spec/src/main/java/javax/persistence/criteria/Subquery.java?rev=810246&r1=810245&r2=810246&view=diff
==============================================================================
--- geronimo/specs/trunk/geronimo-jpa_2.0_spec/src/main/java/javax/persistence/criteria/Subquery.java (original)
+++ geronimo/specs/trunk/geronimo-jpa_2.0_spec/src/main/java/javax/persistence/criteria/Subquery.java Tue Sep 1 21:30:47 2009
@@ -25,10 +25,10 @@
package javax.persistence.criteria;
+import java.util.List;
-public interface Subquery<T> extends AbstractQuery<T>, Expression<T> {
- AbstractQuery<?> getParent();
+public interface Subquery<T> extends AbstractQuery<T>, Expression<T> {
Subquery<T> select(Expression<T> expression);
Subquery<T> where(Expression<Boolean> restriction);
@@ -36,12 +36,13 @@
Subquery<T> groupBy(Expression<?>... grouping);
+ Subquery<T> groupBy(List<Expression<?>> grouping);
+
Subquery<T> having(Expression<Boolean> restriction);
Subquery<T> having(Predicate... restrictions);
Subquery<T> distinct(boolean distinct);
- Expression<T> getSelection();
<Y> Root<Y> correlate(Root<Y> parentRoot);
<X, Y> Join<X, Y> correlate(Join<X, Y> parentJoin);
@@ -54,6 +55,9 @@
<X, K, V> MapJoin<X, K, V> correlate(MapJoin<X, K, V> parentMap);
+ AbstractQuery<?> getParent();
+ Expression<T> getSelection();
+
java.util.Set<Join<?, ?>> getJoins();
}
Modified: geronimo/specs/trunk/geronimo-jpa_2.0_spec/src/main/java/javax/persistence/metamodel/IdentifiableType.java
URL: http://svn.apache.org/viewvc/geronimo/specs/trunk/geronimo-jpa_2.0_spec/src/main/java/javax/persistence/metamodel/IdentifiableType.java?rev=810246&r1=810245&r2=810246&view=diff
==============================================================================
--- geronimo/specs/trunk/geronimo-jpa_2.0_spec/src/main/java/javax/persistence/metamodel/IdentifiableType.java (original)
+++ geronimo/specs/trunk/geronimo-jpa_2.0_spec/src/main/java/javax/persistence/metamodel/IdentifiableType.java Tue Sep 1 21:30:47 2009
@@ -29,10 +29,10 @@
public interface IdentifiableType<X> extends ManagedType<X> {
<Y> SingularAttribute<? super X, Y> getId(Class<Y> type);
- <Y> SingularAttribute<? super X, Y> getVersion(Class<Y> type);
-
<Y> SingularAttribute<X, Y> getDeclaredId(Class<Y> type);
+ <Y> SingularAttribute<? super X, Y> getVersion(Class<Y> type);
+
<Y> SingularAttribute<X, Y> getDeclaredVersion(Class<Y> type);
IdentifiableType<? super X> getSupertype();
Modified: geronimo/specs/trunk/geronimo-jpa_2.0_spec/src/main/java/javax/persistence/metamodel/ManagedType.java
URL: http://svn.apache.org/viewvc/geronimo/specs/trunk/geronimo-jpa_2.0_spec/src/main/java/javax/persistence/metamodel/ManagedType.java?rev=810246&r1=810245&r2=810246&view=diff
==============================================================================
--- geronimo/specs/trunk/geronimo-jpa_2.0_spec/src/main/java/javax/persistence/metamodel/ManagedType.java (original)
+++ geronimo/specs/trunk/geronimo-jpa_2.0_spec/src/main/java/javax/persistence/metamodel/ManagedType.java Tue Sep 1 21:30:47 2009
@@ -40,26 +40,27 @@
java.util.Set<SingularAttribute<X, ?>> getDeclaredSingularAttributes();
<E> CollectionAttribute<? super X, E> getCollection(String name, Class<E> elementType);
+ <E> CollectionAttribute<X, E> getDeclaredCollection(String name, Class<E> elementType);
+
<E> SetAttribute<? super X, E> getSet(String name, Class<E> elementType);
+ <E> SetAttribute<X, E> getDeclaredSet(String name, Class<E> elementType);
+
<E> ListAttribute<? super X, E> getList(String name, Class<E> elementType);
+ <E> ListAttribute<X, E> getDeclaredList(String name, Class<E> elementType);
+
<K, V> MapAttribute<? super X, K, V> getMap(String name,
Class<K> keyType,
Class<V> valueType);
- <E> CollectionAttribute<X, E> getDeclaredCollection(String name, Class<E> elementType);
-
- <E> SetAttribute<X, E> getDeclaredSet(String name, Class<E> elementType);
-
- <E> ListAttribute<X, E> getDeclaredList(String name, Class<E> elementType);
-
<K, V> MapAttribute<X, K, V> getDeclaredMap(String name,
Class<K> keyType,
Class<V> valueType);
- java.util.Set<PluralAttribute<? super X, ?, ?>> getCollections();
+ java.util.Set<PluralAttribute<? super X, ?, ?>> getPluralAttributes();
+
+ java.util.Set<PluralAttribute<X, ?, ?>> getDeclaredPluralAttributes();
- java.util.Set<PluralAttribute<X, ?, ?>> getDeclaredCollections();
@@ -73,17 +74,17 @@
CollectionAttribute<? super X, ?> getCollection(String name);
- SetAttribute<? super X, ?> getSet(String name);
-
- ListAttribute<? super X, ?> getList(String name);
-
- MapAttribute<? super X, ?, ?> getMap(String name);
-
CollectionAttribute<X, ?> getDeclaredCollection(String name);
+ SetAttribute<? super X, ?> getSet(String name);
+
SetAttribute<X, ?> getDeclaredSet(String name);
+ ListAttribute<? super X, ?> getList(String name);
+
ListAttribute<X, ?> getDeclaredList(String name);
+ MapAttribute<? super X, ?, ?> getMap(String name);
+
MapAttribute<X, ?, ?> getDeclaredMap(String name);
}