private void initialize(String[] aliases) { PropertyAccessor propertyAccessor = new ChainedPropertyAccessor( new PropertyAccessor[] { PropertyAccessorFactory.getPropertyAccessor( resultClass, null ), PropertyAccessorFactory.getPropertyAccessor( "field" ) } ); this.aliases = new String[ aliases.length ]; setters = new Setter[ aliases.length ]; for ( int i = 0; i < aliases.length; i++ ) { String alias = aliases[ i ]; if ( alias != null ) { this.aliases[ i ] = alias; setters[ i ] = propertyAccessor.getSetter( resultClass, alias ); } } isInitialized = true; }
private PropertyAccessor buildPropertyAccessor(Property mappedProperty) { if ( mappedProperty.isBackRef() ) { return mappedProperty.getPropertyAccessor(null); } else { return PropertyAccessorFactory.getDynamicMapPropertyAccessor(); } }
private PropertyAccessor buildPropertyAccessor(AttributeBinding mappedProperty) { // TODO: fix when backrefs are working in new metamodel //if ( mappedProperty.isBackRef() ) { // return mappedProperty.getPropertyAccessor( null ); //} //else { return PropertyAccessorFactory.getDynamicMapPropertyAccessor(); //} }
private PropertyAccessor getPropertyAccessor(AttributeBinding mappedProperty) throws MappingException { // TODO: Fix this then backrefs are working in new metamodel return PropertyAccessorFactory.getPropertyAccessor( mappedProperty.getContainer().getClassReference(), mappedProperty.getPropertyAccessorName() ); }
public PojoComponentTuplizer(Component component) { super( component ); this.componentClass = component.getComponentClass(); String[] getterNames = new String[propertySpan]; String[] setterNames = new String[propertySpan]; Class[] propTypes = new Class[propertySpan]; for ( int i = 0; i < propertySpan; i++ ) { getterNames[i] = getters[i].getMethodName(); setterNames[i] = setters[i].getMethodName(); propTypes[i] = getters[i].getReturnType(); } final String parentPropertyName = component.getParentProperty(); if ( parentPropertyName == null ) { parentSetter = null; parentGetter = null; } else { PropertyAccessor pa = PropertyAccessorFactory.getPropertyAccessor( null ); parentSetter = pa.getSetter( componentClass, parentPropertyName ); parentGetter = pa.getGetter( componentClass, parentPropertyName ); } if ( hasCustomAccessors || !Environment.useReflectionOptimizer() ) { optimizer = null; } else { // TODO: here is why we need to make bytecode provider global :( // TODO : again, fix this after HHH-1907 is complete optimizer = Environment.getBytecodeProvider().getReflectionOptimizer( componentClass, getterNames, setterNames, propTypes ); } }
private static Getter getGetter(Property mappingProperty) { if ( mappingProperty == null || !mappingProperty.getPersistentClass().hasPojoRepresentation() ) { return null; } PropertyAccessor pa = PropertyAccessorFactory.getPropertyAccessor( mappingProperty, EntityMode.POJO ); return pa.getGetter( mappingProperty.getPersistentClass().getMappedClass(), mappingProperty.getName() ); }
private static Getter getGetter(AttributeBinding mappingProperty) { if ( mappingProperty == null || mappingProperty.getContainer().getClassReference() == null ) { return null; } PropertyAccessor pa = PropertyAccessorFactory.getPropertyAccessor( mappingProperty, EntityMode.POJO ); return pa.getGetter( mappingProperty.getContainer().getClassReference(), mappingProperty.getAttribute().getName() ); }
private PropertyAccessor buildPropertyAccessor(Property mappedProperty) { if ( mappedProperty.isBackRef() ) { return mappedProperty.getPropertyAccessor(null); } else { return PropertyAccessorFactory.getDom4jPropertyAccessor( mappedProperty.getNodeName(), mappedProperty.getType(), getEntityMetamodel().getSessionFactory() ); } }
/** * return accessors * @param mappedProperty * @return */ private PropertyAccessor buildPropertyAccessor(Property mappedProperty) { if ( mappedProperty.isBackRef() ) { PropertyAccessor ac = mappedProperty.getPropertyAccessor(null); if(ac!=null) return ac; } return accessor; }
private void initialize(String[] newAlias) { PropertyAccessor propertyAccessor = new ChainedPropertyAccessor( new PropertyAccessor[] { PropertyAccessorFactory.getPropertyAccessor( resultClass, null), PropertyAccessorFactory.getPropertyAccessor("field") }); this.aliases = new String[newAlias.length]; setters = new Setter[newAlias.length]; for (int i = 0; i < newAlias.length; i++) { String alias = newAlias[i]; if (alias != null) { this.aliases[i] = alias; // Diferencia con AliasToBeanResultTransformer if (alias.indexOf('.') > 0) { // found nested setters[i] = new NestedSetter(resultClass, alias); } else { // ------------------------------------------- setters[i] = propertyAccessor.getSetter(resultClass, alias); // Diferencia con AliasToBeanResultTransformer } // ------------------------------------------- } } isInitialized = true; }
@SuppressWarnings("rawtypes") public IgnoringCaseAliasToBeanResultTransformer(final Class resultClass) { if (resultClass == null) { throw new IllegalArgumentException("resultClass cannot be null"); } this.resultClass = resultClass; propertyAccessor = new ChainedPropertyAccessor(new PropertyAccessor[] { PropertyAccessorFactory.getPropertyAccessor(resultClass, null), PropertyAccessorFactory.getPropertyAccessor("field") }); fields = this.resultClass.getDeclaredFields(); }
@Override public PropertyAccessor getPropertyAccessor(Class clazz) { return new BackrefPropertyAccessor(collectionRole, entityName); }
@Override public PropertyAccessor getPropertyAccessor(Class clazz) { return new IndexPropertyAccessor(collectionRole, entityName); }
public PropertyAccessor getPropertyAccessor(Class clazz) throws MappingException { return PropertyAccessorFactory.getPropertyAccessor( clazz, getPropertyAccessorName() ); }
private PropertyAccessor buildPropertyAccessor(Property property) { return PropertyAccessorFactory.getDynamicMapPropertyAccessor(); }
public PropertyAccessor getPropertyAccessor(Class clazz) { return new BackrefPropertyAccessor(collectionRole, entityName); }
public PropertyAccessor getPropertyAccessor(Class clazz) { return new IndexPropertyAccessor(collectionRole, entityName); }
public AliasToBeanResultTransformer(Class resultClass) { if(resultClass==null) throw new IllegalArgumentException("resultClass cannot be null"); this.resultClass = resultClass; propertyAccessor = new ChainedPropertyAccessor(new PropertyAccessor[] { PropertyAccessorFactory.getPropertyAccessor(resultClass,null), PropertyAccessorFactory.getPropertyAccessor("field")}); }
private PropertyAccessor buildPropertyAccessor(Property property) { //TODO: currently we don't know a SessionFactory reference when building the Tuplizer // THIS IS A BUG (embedded-xml=false on component) // TODO : fix this after HHH-1907 is complete return PropertyAccessorFactory.getDom4jPropertyAccessor( property.getNodeName(), property.getType(), null ); }