PlasticField annotationProviderField = plasticClass.introduceField(AnnotationProvider.class,
"annotationProvider").inject(annotationProvider);
plasticClass.introduceMethod(ConduitMethods.GET_ANNOTATION).delegateTo(annotationProviderField);
plasticClass.introduceMethod(ConduitMethods.GET_PROPERTY_NAME, new InstructionBuilderCallback()
{
public void doBuild(InstructionBuilder builder)
{
builder.loadConstant(conduitPropertyName).returnResult();
}
});
final PlasticField propertyTypeField = plasticClass.introduceField(Class.class, "propertyType").inject(
conduitPropertyType);
plasticClass.introduceMethod(ConduitMethods.GET_PROPERTY_TYPE, new InstructionBuilderCallback()
{
public void doBuild(InstructionBuilder builder)
{
builder.loadThis().getField(propertyTypeField).returnResult();
}