package org.springframework.roo.addon.jpa.addon;
import org.apache.commons.lang3.Validate;
import org.apache.commons.lang3.builder.ToStringBuilder;
/**
* ORM providers known to the JPA add-on.
*
* @author Stefan Schmidt
* @author Alan Stewart
* @author Juan Carlos GarcĂa
* @since 1.0
*/
public enum OrmProvider {
ECLIPSELINK("org.eclipse.persistence.jpa.PersistenceProvider"), HIBERNATE(
"org.hibernate.jpa.HibernatePersistenceProvider");
private final String adapter;
/**
* Constructor
*
* @param adapter (required)
*/
private OrmProvider(final String adapter) {
Validate.notBlank(adapter, "Adapter is required");
this.adapter = adapter;
}
public String getAdapter() {
return adapter;
}
public String getConfigPrefix() {
return "/configuration/ormProviders/provider[@id='" + name() + "']";
}
@Override
public String toString() {
final ToStringBuilder builder = new ToStringBuilder(this);
builder.append("provider", name());
builder.append("adapter", adapter);
return builder.toString();
}
}