org.hibernate.tuple.component.DynamicMapComponentTuplizer Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of hibernate Show documentation
Show all versions of hibernate Show documentation
Relational Persistence for Java
//$Id: DynamicMapComponentTuplizer.java 7449 2005-07-11 17:31:50Z steveebersole $
package org.hibernate.tuple.component;
import java.util.Map;
import org.hibernate.mapping.Component;
import org.hibernate.mapping.Property;
import org.hibernate.property.Getter;
import org.hibernate.property.PropertyAccessor;
import org.hibernate.property.PropertyAccessorFactory;
import org.hibernate.property.Setter;
import org.hibernate.tuple.Instantiator;
import org.hibernate.tuple.DynamicMapInstantiator;
/**
* A {@link ComponentTuplizer} specific to the dynamic-map entity mode.
*
* @author Gavin King
* @author Steve Ebersole
*/
public class DynamicMapComponentTuplizer extends AbstractComponentTuplizer {
public Class getMappedClass() {
return Map.class;
}
protected Instantiator buildInstantiator(Component component) {
return new DynamicMapInstantiator();
}
public DynamicMapComponentTuplizer(Component component) {
super(component);
}
private PropertyAccessor buildPropertyAccessor(Property property) {
return PropertyAccessorFactory.getDynamicMapPropertyAccessor();
}
protected Getter buildGetter(Component component, Property prop) {
return buildPropertyAccessor(prop).getGetter( null, prop.getName() );
}
protected Setter buildSetter(Component component, Property prop) {
return buildPropertyAccessor(prop).getSetter( null, prop.getName() );
}
}