HHH-10715 Make static constant collections immutable in metamodel-generator
This commit is contained in:
parent
93772fe766
commit
1256ca190c
|
@ -6,8 +6,6 @@
|
||||||
*/
|
*/
|
||||||
package org.hibernate.jpamodelgen.util;
|
package org.hibernate.jpamodelgen.util;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
|
||||||
import java.util.HashMap;
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
|
||||||
|
@ -34,46 +32,52 @@ public final class Constants {
|
||||||
public static final String CONVERT = "javax.persistence.Convert";
|
public static final String CONVERT = "javax.persistence.Convert";
|
||||||
public static final String HIBERNATE_TYPE = "org.hibernate.annotations.Type";
|
public static final String HIBERNATE_TYPE = "org.hibernate.annotations.Type";
|
||||||
|
|
||||||
public static final Map<String, String> COLLECTIONS = new HashMap<String, String>();
|
public static final Map<String, String> COLLECTIONS = allCollectionTypes();
|
||||||
|
|
||||||
static {
|
private static java.util.Map<String, String> allCollectionTypes() {
|
||||||
COLLECTIONS.put( java.util.Collection.class.getName(), "javax.persistence.metamodel.CollectionAttribute" );
|
Map<String, String> map = new java.util.HashMap<>();
|
||||||
COLLECTIONS.put( java.util.Set.class.getName(), "javax.persistence.metamodel.SetAttribute" );
|
map.put( java.util.Collection.class.getName(), "javax.persistence.metamodel.CollectionAttribute" );
|
||||||
COLLECTIONS.put( java.util.List.class.getName(), "javax.persistence.metamodel.ListAttribute" );
|
map.put( java.util.Set.class.getName(), "javax.persistence.metamodel.SetAttribute" );
|
||||||
COLLECTIONS.put( java.util.Map.class.getName(), "javax.persistence.metamodel.MapAttribute" );
|
map.put( java.util.List.class.getName(), "javax.persistence.metamodel.ListAttribute" );
|
||||||
|
map.put( java.util.Map.class.getName(), "javax.persistence.metamodel.MapAttribute" );
|
||||||
|
|
||||||
// Hibernate also supports the SortedSet and SortedMap interfaces
|
// Hibernate also supports the SortedSet and SortedMap interfaces
|
||||||
COLLECTIONS.put( java.util.SortedSet.class.getName(), "javax.persistence.metamodel.SetAttribute" );
|
map.put( java.util.SortedSet.class.getName(), "javax.persistence.metamodel.SetAttribute" );
|
||||||
COLLECTIONS.put( java.util.SortedMap.class.getName(), "javax.persistence.metamodel.MapAttribute" );
|
map.put( java.util.SortedMap.class.getName(), "javax.persistence.metamodel.MapAttribute" );
|
||||||
|
return java.util.Collections.unmodifiableMap( map );
|
||||||
}
|
}
|
||||||
|
|
||||||
public static final List<String> BASIC_TYPES = new ArrayList<String>();
|
public static final List<String> BASIC_TYPES = allBasicTypes();
|
||||||
|
|
||||||
static {
|
private static java.util.List<String> allBasicTypes() {
|
||||||
BASIC_TYPES.add( java.lang.String.class.getName() );
|
java.util.ArrayList<String> strings = new java.util.ArrayList<>();
|
||||||
BASIC_TYPES.add( java.lang.Boolean.class.getName() );
|
strings.add( java.lang.String.class.getName() );
|
||||||
BASIC_TYPES.add( java.lang.Byte.class.getName() );
|
strings.add( java.lang.Boolean.class.getName() );
|
||||||
BASIC_TYPES.add( java.lang.Character.class.getName() );
|
strings.add( java.lang.Byte.class.getName() );
|
||||||
BASIC_TYPES.add( java.lang.Short.class.getName() );
|
strings.add( java.lang.Character.class.getName() );
|
||||||
BASIC_TYPES.add( java.lang.Integer.class.getName() );
|
strings.add( java.lang.Short.class.getName() );
|
||||||
BASIC_TYPES.add( java.lang.Long.class.getName() );
|
strings.add( java.lang.Integer.class.getName() );
|
||||||
BASIC_TYPES.add( java.lang.Float.class.getName() );
|
strings.add( java.lang.Long.class.getName() );
|
||||||
BASIC_TYPES.add( java.lang.Double.class.getName() );
|
strings.add( java.lang.Float.class.getName() );
|
||||||
BASIC_TYPES.add( java.math.BigInteger.class.getName() );
|
strings.add( java.lang.Double.class.getName() );
|
||||||
BASIC_TYPES.add( java.math.BigDecimal.class.getName() );
|
strings.add( java.math.BigInteger.class.getName() );
|
||||||
BASIC_TYPES.add( java.util.Date.class.getName() );
|
strings.add( java.math.BigDecimal.class.getName() );
|
||||||
BASIC_TYPES.add( java.util.Calendar.class.getName() );
|
strings.add( java.util.Date.class.getName() );
|
||||||
BASIC_TYPES.add( java.sql.Date.class.getName() );
|
strings.add( java.util.Calendar.class.getName() );
|
||||||
BASIC_TYPES.add( java.sql.Time.class.getName() );
|
strings.add( java.sql.Date.class.getName() );
|
||||||
BASIC_TYPES.add( java.sql.Timestamp.class.getName() );
|
strings.add( java.sql.Time.class.getName() );
|
||||||
BASIC_TYPES.add( java.sql.Blob.class.getName() );
|
strings.add( java.sql.Timestamp.class.getName() );
|
||||||
|
strings.add( java.sql.Blob.class.getName() );
|
||||||
|
return java.util.Collections.unmodifiableList( strings );
|
||||||
}
|
}
|
||||||
|
|
||||||
public static final List<String> BASIC_ARRAY_TYPES = new ArrayList<String>();
|
public static final List<String> BASIC_ARRAY_TYPES = allBasicArrayTypes();
|
||||||
|
|
||||||
static {
|
private static java.util.List<String> allBasicArrayTypes() {
|
||||||
BASIC_ARRAY_TYPES.add( java.lang.Character.class.getName() );
|
java.util.ArrayList<String> strings = new java.util.ArrayList<>();
|
||||||
BASIC_ARRAY_TYPES.add( java.lang.Byte.class.getName() );
|
strings.add( java.lang.Character.class.getName() );
|
||||||
|
strings.add( java.lang.Byte.class.getName() );
|
||||||
|
return java.util.Collections.unmodifiableList( strings );
|
||||||
}
|
}
|
||||||
|
|
||||||
public static final String PATH_SEPARATOR = "/";
|
public static final String PATH_SEPARATOR = "/";
|
||||||
|
|
Loading…
Reference in New Issue