protected boolean definePropertyBeanMethods(ClassFile cf,
                                                SyntheticProperty property)
    {
        TypeDesc propertyType = TypeDesc.forClass(property.getType());
        // Add property get method.
        final MethodInfo mi = cf.addMethod(Modifiers.PUBLIC_ABSTRACT,
                                           property.getReadMethodName(),
                                           propertyType,
                                           null);

        if (property.getName() != null) {
            // Define @Name
            Annotation ann = mi.addRuntimeVisibleAnnotation(TypeDesc.forClass(Name.class));
            ann.putMemberValue("value", property.getName());
        }

        if (property.isNullable()) {
            mi.addRuntimeVisibleAnnotation(TypeDesc.forClass(Nullable.class));
        }
        boolean versioned = false;
        if (property.isVersion()) {
            mi.addRuntimeVisibleAnnotation(TypeDesc.forClass(Version.class));
            versioned = true;
        }

        if (property.getAdapter() != null) {
            StorablePropertyAdapter adapter = property.getAdapter();
            Annotation ann = mi.addRuntimeVisibleAnnotation
                (TypeDesc.forClass(adapter.getAnnotation().getAnnotationType()));
            java.lang.annotation.Annotation jann = adapter.getAnnotation().getAnnotation();
            if (jann != null) {
                new AnnotationBuilder().visit(jann, ann);
            }
        }

        List<String> annotationDescs = property.getAccessorAnnotationDescriptors();
        if (annotationDescs != null && annotationDescs.size() > 0) {
            for (String desc : annotationDescs) {
                new AnnotationDescParser(desc) {
                    @Override
                    protected Annotation buildRootAnnotation(TypeDesc rootAnnotationType) {
                        return mi.addRuntimeVisibleAnnotation(rootAnnotationType);
                    }
                }.parse(null);
            }
        }

        // Add property set method.
        cf.addMethod(Modifiers.PUBLIC_ABSTRACT,
                     property.getWriteMethodName(),
                     null,
                     new TypeDesc[] { propertyType });

        return versioned;
    }
protected boolean definePropertyBeanMethods ( ClassFile cf , SyntheticProperty property ) { TypeDesc propertyType = TypeDesc . forClass ( property . getType ( ) ) ; final MethodInfo mi = cf . addMethod ( Modifiers . PUBLIC_ABSTRACT , property . getReadMethodName ( ) , propertyType , null ) ; if ( property . getName ( ) != null ) { Annotation ann = mi . addRuntimeVisibleAnnotation ( TypeDesc . forClass ( Name . class ) ) ; ann . putMemberValue ( "value" , property . getName ( ) ) ; } if ( property . isNullable ( ) ) { mi . addRuntimeVisibleAnnotation ( TypeDesc . forClass ( Nullable . class ) ) ; } boolean versioned = false ; if ( property . isVersion ( ) ) { mi . addRuntimeVisibleAnnotation ( TypeDesc . forClass ( Version . class ) ) ; versioned = true ; } if ( property . getAdapter ( ) != null ) { StorablePropertyAdapter adapter = property . getAdapter ( ) ; Annotation ann = mi . addRuntimeVisibleAnnotation ( TypeDesc . forClass ( adapter . getAnnotation ( ) . getAnnotationType ( ) ) ) ; java . lang . annotation . Annotation jann = adapter . getAnnotation ( ) . getAnnotation ( ) ; if ( jann != null ) { new AnnotationBuilder ( ) . visit ( jann , ann ) ; } } List < String > annotationDescs = property . getAccessorAnnotationDescriptors ( ) ; if ( annotationDescs != null && annotationDescs . size ( ) > 0 ) { for ( String desc : annotationDescs ) { new AnnotationDescParser ( desc ) { @ Override protected Annotation buildRootAnnotation ( TypeDesc rootAnnotationType ) { return mi . addRuntimeVisibleAnnotation ( rootAnnotationType ) ; } } . parse ( null ) ; } } cf . addMethod ( Modifiers . PUBLIC_ABSTRACT , property . getWriteMethodName ( ) , null , new TypeDesc [ ] { propertyType } ) ; return versioned ; }
Add the get & set methods for this property

@return true if version property was added