package fr.openwide.core.jpa.search.bridge; import org.hibernate.search.bridge.FieldBridge; import org.hibernate.search.bridge.StringBridge; import fr.openwide.core.jpa.business.generic.model.GenericEntity; public abstract class AbstractGenericEntityIdFieldBridge implements FieldBridge, StringBridge { @Override public String objectToString(Object object) { if (object == null) { return null; } if (!(object instanceof GenericEntity)) { throw new IllegalArgumentException("This FieldBridge only supports GenericEntity properties."); } GenericEntity<?, ?> entity = (GenericEntity<?, ?>) object; Object id = entity.getId(); // The ID may be null if the FieldBridge is being used while building a query. return id == null ? "" : id.toString(); } }