Skip to content

Field Order Extensions

EasyYapi provides several extensions for controlling field order in API documentation.

Available Extensions

Alphabetical (A-Z)

Fields ordered alphabetically in ascending order:

properties
# Extension: field-order-alphabetically (disabled by default)
field.order.with=groovy:'''
    return a.name().compareTo(b.name())
'''

Alphabetical Descending (Z-A)

Fields ordered alphabetically in descending order:

properties
# Extension: field-order-alphabetically-desc (disabled by default)
field.order.with=groovy:'''
    return -a.name().compareTo(b.name())
'''

Parent Fields First

Parent class fields appear before child class fields:

properties
# Extension: field-order-parent-first (disabled by default)
field.order.with=groovy:'''
    def aDefineClass = a.defineClass()
    def bDefineClass = b.defineClass()
    if(aDefineClass == bDefineClass){
        return 0
    }else if(aDefineClass.isExtend(bDefineClass.name())){
        return 1
    }else{
        return -1
    }
'''

Child Fields First

Child class fields appear before parent class fields:

properties
# Extension: field-order-child-first (disabled by default)
field.order.with=groovy:'''
    def aDefineClass = a.defineClass()
    def bDefineClass = b.defineClass()
    if(aDefineClass == bDefineClass){
        return 0
    }else if(aDefineClass.isExtend(bDefineClass.name())){
        return -1
    }else{
        return 1
    }
'''

Enabling Extensions

All field order extensions are disabled by default. Enable the desired one in IDE settings:

Settings > Other Settings > EasyApi

WARNING

Only one field order extension should be enabled at a time. Enabling multiple may produce unpredictable results.

See Also

Released under the Apache-2.0 License.