private static final long serialVersionUID = -4619590272174606288L;
+ public static <T extends CdmBase> TypedEntityReference<T> fromEntity(T entity) {
+ return TypedEntityReference.fromEntity(entity, true);
+ }
+
private Class<T> type;
/**
* @deprecated use factory method instead, should only be used by in DTO sub-class constructors (TODO: to be made protected once no longer used publicly)
*/
@Deprecated
- public TypedEntityReference(T entity) {
- super();
+ protected TypedEntityReference(T entity) {
this.type = (Class<T>) entity.getClass();
this.uuid = entity.getUuid();
}
}
}
+ public static <T extends CdmBase> TypedEntityReference<T> fromEntityWithLabel(T entity, String explicitLabel) {
+ if(entity == null) {
+ return null;
+ }
+ entity = HibernateProxyHelper.deproxy(entity);
+ return new TypedEntityReference<>((Class<T>)entity.getClass(), entity.getUuid(), explicitLabel);
+ }
+
/**
* Casts the <code>TypedEntityReference</code> to the <code>subType</code> if possible.
*
return new TypedEntityReference<>(subType, getUuid());
}
- public static <T extends CdmBase> TypedEntityReference<T> fromEntity(T entity) {
- return TypedEntityReference.fromEntity(entity, true);
- }
-
public Class<T> getType() {
return type;
}