Author: steve.ebersole(a)jboss.com
Date: 2009-08-05 15:28:58 -0400 (Wed, 05 Aug 2009)
New Revision: 17236
Modified:
core/trunk/entitymanager/src/main/java/org/hibernate/ejb/criteria/AbstractBasicPluralJoin.java
core/trunk/entitymanager/src/main/java/org/hibernate/ejb/criteria/FromImpl.java
Log:
EJB-447 : Implement JPA 2.0 criteria apis
Modified:
core/trunk/entitymanager/src/main/java/org/hibernate/ejb/criteria/AbstractBasicPluralJoin.java
===================================================================
---
core/trunk/entitymanager/src/main/java/org/hibernate/ejb/criteria/AbstractBasicPluralJoin.java 2009-08-05
18:49:13 UTC (rev 17235)
+++
core/trunk/entitymanager/src/main/java/org/hibernate/ejb/criteria/AbstractBasicPluralJoin.java 2009-08-05
19:28:58 UTC (rev 17236)
@@ -120,28 +120,62 @@
}
@Override
- public <Y> Join<E, Y> join(String attributeName, JoinType jt) {
+ public <E,Y> Join<E, Y> join(String attributeName, JoinType jt) {
throw illegalJoin();
}
@Override
- public <Y> CollectionJoin<E, Y> joinCollection(String attributeName,
JoinType jt) {
+ public <E,Y> CollectionJoin<E, Y> joinCollection(String attributeName,
JoinType jt) {
throw illegalJoin();
}
@Override
- public <Y> ListJoin<E, Y> joinList(String attributeName, JoinType jt) {
+ public <E,Y> ListJoin<E, Y> joinList(String attributeName, JoinType jt)
{
throw illegalJoin();
}
@Override
- public <L, W> MapJoin<E, L, W> joinMap(String attributeName, JoinType jt)
{
+ public <E, L, W> MapJoin<E, L, W> joinMap(String attributeName, JoinType
jt) {
throw illegalJoin();
}
@Override
- public <Y> SetJoin<E, Y> joinSet(String attributeName, JoinType jt) {
+ public <E,Y> SetJoin<E, Y> joinSet(String attributeName, JoinType jt) {
throw illegalJoin();
}
+ @Override
+ public <Y> Fetch<E, Y> fetch(SingularAttribute<? super E, Y>
singularAttribute) {
+ throw illegalFetch();
+ }
+
+ private BasicPathUsageException illegalFetch() {
+ return new BasicPathUsageException( "Basic collection cannot be source of a
fetch", getAttribute() );
+ }
+
+ @Override
+ public <Y> Fetch<E, Y> fetch(SingularAttribute<? super E, Y>
attribute, JoinType jt) {
+ throw illegalFetch();
+ }
+
+ @Override
+ public <Y> Fetch<E, Y> fetch(PluralAttribute<? super E, ?, Y>
pluralAttribute) {
+ throw illegalFetch();
+ }
+
+ @Override
+ public <Y> Fetch<E, Y> fetch(PluralAttribute<? super E, ?, Y>
pluralAttribute, JoinType jt) {
+ throw illegalFetch();
+ }
+
+ @Override
+ public <X, Y> Fetch<X, Y> fetch(String attributeName) {
+ throw illegalFetch();
+ }
+
+ @Override
+ public <X, Y> Fetch<X, Y> fetch(String attributeName, JoinType jt) {
+ throw illegalFetch();
+ }
+
}
Modified: core/trunk/entitymanager/src/main/java/org/hibernate/ejb/criteria/FromImpl.java
===================================================================
---
core/trunk/entitymanager/src/main/java/org/hibernate/ejb/criteria/FromImpl.java 2009-08-05
18:49:13 UTC (rev 17235)
+++
core/trunk/entitymanager/src/main/java/org/hibernate/ejb/criteria/FromImpl.java 2009-08-05
19:28:58 UTC (rev 17236)
@@ -307,14 +307,14 @@
/**
* {@inheritDoc}
*/
- public <Y> Join<X, Y> join(String attributeName) {
+ public <X,Y> Join<X, Y> join(String attributeName) {
return join( attributeName, DEFAULT_JOIN_TYPE );
}
/**
* {@inheritDoc}
*/
- public <Y> Join<X, Y> join(String attributeName, JoinType jt) {
+ public <X,Y> Join<X, Y> join(String attributeName, JoinType jt) {
if ( jt.equals( JoinType.RIGHT ) ) {
throw new UnsupportedOperationException( "RIGHT JOIN not supported" );
}
@@ -323,34 +323,34 @@
if ( attribute.isCollection() ) {
final PluralAttribute pluralAttribute = ( PluralAttribute ) attribute;
if ( CollectionType.COLLECTION.equals( pluralAttribute.getCollectionType() ) ) {
- return join( (CollectionAttribute<X,Y>) attribute, jt );
+ return (Join<X,Y>) join( (CollectionAttribute) attribute, jt );
}
else if ( CollectionType.LIST.equals( pluralAttribute.getCollectionType() ) ) {
- return join( (ListAttribute<X,Y>) attribute, jt );
+ return (Join<X,Y>) join( (ListAttribute) attribute, jt );
}
else if ( CollectionType.SET.equals( pluralAttribute.getCollectionType() ) ) {
- return join( (SetAttribute<X,Y>) attribute, jt );
+ return (Join<X,Y>) join( (SetAttribute) attribute, jt );
}
else {
- return join( (MapAttribute<X,?,Y>) attribute, jt );
+ return (Join<X,Y>) join( (MapAttribute) attribute, jt );
}
}
else {
- return join( (SingularAttribute)attribute, jt );
+ return (Join<X,Y>) join( (SingularAttribute)attribute, jt );
}
}
/**
* {@inheritDoc}
*/
- public <Y> CollectionJoin<X, Y> joinCollection(String attributeName) {
+ public <X,Y> CollectionJoin<X, Y> joinCollection(String attributeName) {
return joinCollection( attributeName, DEFAULT_JOIN_TYPE );
}
/**
* {@inheritDoc}
*/
- public <Y> CollectionJoin<X, Y> joinCollection(String attributeName,
JoinType jt) {
+ public <X,Y> CollectionJoin<X, Y> joinCollection(String attributeName,
JoinType jt) {
final Attribute<X,?> attribute = (Attribute<X, ?>) getAttribute(
attributeName );
if ( ! attribute.isCollection() ) {
throw new IllegalArgumentException( "Requested attribute was not a
collection" );
@@ -361,20 +361,20 @@
throw new IllegalArgumentException( "Requested attribute was not a
collection" );
}
- return join( (CollectionAttribute<X,Y>) attribute, jt );
+ return (CollectionJoin<X,Y>) join( (CollectionAttribute) attribute, jt );
}
/**
* {@inheritDoc}
*/
- public <Y> SetJoin<X, Y> joinSet(String attributeName) {
+ public <X,Y> SetJoin<X, Y> joinSet(String attributeName) {
return joinSet( attributeName, DEFAULT_JOIN_TYPE );
}
/**
* {@inheritDoc}
*/
- public <Y> SetJoin<X, Y> joinSet(String attributeName, JoinType jt) {
+ public <X,Y> SetJoin<X, Y> joinSet(String attributeName, JoinType jt) {
final Attribute<X,?> attribute = (Attribute<X, ?>) getAttribute(
attributeName );
if ( ! attribute.isCollection() ) {
throw new IllegalArgumentException( "Requested attribute was not a
set" );
@@ -385,20 +385,20 @@
throw new IllegalArgumentException( "Requested attribute was not a
set" );
}
- return join( (SetAttribute<X,Y>) attribute, jt );
+ return (SetJoin<X,Y>) join( (SetAttribute) attribute, jt );
}
/**
* {@inheritDoc}
*/
- public <Y> ListJoin<X, Y> joinList(String attributeName) {
+ public <X,Y> ListJoin<X, Y> joinList(String attributeName) {
return joinList( attributeName, DEFAULT_JOIN_TYPE );
}
/**
* {@inheritDoc}
*/
- public <Y> ListJoin<X, Y> joinList(String attributeName, JoinType jt) {
+ public <X,Y> ListJoin<X, Y> joinList(String attributeName, JoinType jt) {
final Attribute<X,?> attribute = (Attribute<X, ?>) getAttribute(
attributeName );
if ( ! attribute.isCollection() ) {
throw new IllegalArgumentException( "Requested attribute was not a
list" );
@@ -409,20 +409,20 @@
throw new IllegalArgumentException( "Requested attribute was not a
list" );
}
- return join( (ListAttribute<X,Y>) attribute, jt );
+ return (ListJoin<X,Y>) join( (ListAttribute) attribute, jt );
}
/**
* {@inheritDoc}
*/
- public <K, V> MapJoin<X, K, V> joinMap(String attributeName) {
+ public <X, K, V> MapJoin<X, K, V> joinMap(String attributeName) {
return joinMap( attributeName, DEFAULT_JOIN_TYPE );
}
/**
* {@inheritDoc}
*/
- public <K, V> MapJoin<X, K, V> joinMap(String attributeName, JoinType jt) {
+ public <X, K, V> MapJoin<X, K, V> joinMap(String attributeName, JoinType jt)
{
final Attribute<X,?> attribute = (Attribute<X, ?>) getAttribute(
attributeName );
if ( ! attribute.isCollection() ) {
throw new IllegalArgumentException( "Requested attribute was not a
map" );
@@ -433,7 +433,7 @@
throw new IllegalArgumentException( "Requested attribute was not a
map" );
}
- return join( (MapAttribute<X,K,V>) attribute, jt );
+ return (MapJoin<X,K,V>) join( (MapAttribute) attribute, jt );
}
@@ -492,17 +492,17 @@
return fetch;
}
- public <Y> Fetch<X, Y> fetch(String attributeName) {
+ public <X,Y> Fetch<X, Y> fetch(String attributeName) {
return fetch( attributeName, DEFAULT_JOIN_TYPE );
}
- public <Y> Fetch<X, Y> fetch(String attributeName, JoinType jt) {
- Attribute<X,?> attribute = getAttribute( attributeName );
+ public <X,Y> Fetch<X, Y> fetch(String attributeName, JoinType jt) {
+ Attribute<X,?> attribute = (Attribute<X, ?>) getAttribute( attributeName
);
if ( attribute.isCollection() ) {
- return fetch( (PluralAttribute<X,?,Y>)attribute, jt );
+ return (Fetch<X, Y>) fetch( (PluralAttribute) attribute, jt );
}
else {
- return fetch( (SingularAttribute<X,Y>) attribute, jt );
+ return (Fetch<X, Y>) fetch( (SingularAttribute) attribute, jt );
}
}