@Override public Object invoke( Object proxy, Method method, Object[] args ) throws Throwable { return state.propertyFor( method ); }
@Override public Object invoke( Object proxy, Method method, Object[] args ) throws Throwable { return state.propertyFor( method ); }
@Override public Object apply( PropertyDescriptor propertyDescriptor ) { StateHolder state = getValueStateInstance( value ); Property<Object> property = state.propertyFor( propertyDescriptor.accessor() ); return property.get(); } }
@Override public Object provideInjection( InjectionContext context ) throws InjectionProviderException { Property<?> value = context.state().propertyFor( propertyDescriptor.accessor() ); if( value != null ) { return value; } else { throw new InjectionProviderException( "Non-optional property " + propertyDescriptor + " had no value" ); } } }
return handler.state().propertyFor( accessor );
return handler.state().propertyFor( accessor );
@Override public TemplateModel get( String key ) throws TemplateModelException { try { return wrapper.wrap( PolygeneAPI.FUNCTION_COMPOSITE_INSTANCE_OF .apply( composite ) .state() .propertyFor( descriptor.state().findPropertyModelByName( key ).accessor() ) .get() ); } catch( IllegalArgumentException e ) { return null; } }
@Override public TemplateModel get( String key ) throws TemplateModelException { try { return wrapper.wrap( PolygeneAPI.FUNCTION_COMPOSITE_INSTANCE_OF .apply( composite ) .state() .propertyFor( descriptor.state().findPropertyModelByName( key ).accessor() ) .get() ); } catch( IllegalArgumentException e ) { return null; } }
entityPK, pDesc.qualifiedName(), state.propertyFor( pDesc.accessor() ).get(), localPK );
/** * When a ValueBuilder is finished and is about to instantiate a Value, call this to ensure that the state has correct * settings, i.e. is immutable. */ public void prepareBuilderState() { descriptor().state().properties().forEach( descriptor -> ( (PropertyInstance<Object>) state.propertyFor( descriptor.accessor() ) ) .prepareBuilderState( descriptor ) ); descriptor().state().associations().forEach( descriptor -> state().associationFor( descriptor.accessor() ).setAssociationInfo( descriptor ) ); descriptor().state().manyAssociations().forEach( descriptor -> state().manyAssociationFor( descriptor.accessor() ).setAssociationInfo( descriptor ) ); descriptor().state().namedAssociations().forEach( descriptor -> state().namedAssociationFor( descriptor.accessor() ).setAssociationInfo( descriptor ) ); }
/** * Tests that a mixin is injected into member variables annotated with {@link @PropertyField}. * * @throws Exception re-thrown */ @Test public void mixinIsInjectedForMemberVariablesAnnotatedWithPropertyField() throws Exception { TransientBuilder<PropertyFieldInjectionComposite> pficBuilder = transientBuilderFactory.newTransientBuilder( StateInjectionTest.PropertyFieldInjectionComposite.class ); pficBuilder.prototype().testField().set( "X" ); PropertyFieldInjectionComposite pfic = pficBuilder.newInstance(); assertThat( "Test field", pfic.testField().get(), is( equalTo( "X" ) ) ); assertThat( "Named fieldX", pfic.namedField().get(), is( equalTo( "X" ) ) ); assertThat( "State", pfic.getState() .propertyFor( PropertyFieldInjectionComposite.class.getMethod( "testField" ) ) .get(), is( equalTo( "X" ) ) ); }
/** * When a ValueBuilder is about to start, ensure that all state has builder infos, i.e. they are mutable. */ public void prepareToBuild() { descriptor().state().properties().forEach( descriptor -> ( (PropertyInstance<Object>) state.propertyFor( descriptor.accessor() ) ) .prepareToBuild( descriptor ) ); descriptor().state().associations().forEach( descriptor -> state().associationFor( descriptor.accessor() ) .setAssociationInfo( descriptor.builderInfo() ) ); descriptor().state().manyAssociations().forEach( descriptor -> state().manyAssociationFor( descriptor.accessor() ) .setAssociationInfo( descriptor.builderInfo() ) ); descriptor().state().namedAssociations().forEach( descriptor -> state().namedAssociationFor( descriptor.accessor() ) .setAssociationInfo( descriptor.builderInfo() ) ); }
.apply( value ) .state() .propertyFor( persistentProperty.accessor() ) .get();
try Object value = holder.propertyFor( propertyDescriptor.accessor() ).get(); String param; if( value == null )