@ Override public < T > T get ( String fieldName ) { switch ( fieldName . toLowerCase ( ) ) { case FIELD_REPOSITORY : return ( T ) getRepository ( ) ; case FIELD_ID : return ( T ) getId ( ) . getId ( ) ; case FIELD_VERSION : return ( T ) getId ( ) . getVersion ( ) ; case FIELD_FEATURE : case FIELD_FEATURES : return ( T ) ExtensionIdConverter . toStringList ( getExtensionFeatures ( ) ) ; case FIELD_EXTENSIONFEATURE : case FIELD_EXTENSIONFEATURES : return ( T ) getExtensionFeatures ( ) ; case FIELD_SUMMARY : return ( T ) getSummary ( ) ; case FIELD_DESCRIPTION : return ( T ) getDescription ( ) ; case FIELD_AUTHOR : case FIELD_AUTHORS : return ( T ) getAuthors ( ) ; case FIELD_CATEGORY : return ( T ) getCategory ( ) ; case FIELD_LICENSE : case FIELD_LICENSES : return ( T ) getLicenses ( ) ; case FIELD_NAME : return ( T ) getName ( ) ; case FIELD_TYPE : return ( T ) getType ( ) ; case FIELD_WEBSITE : return ( T ) getWebSite ( ) ; case FIELD_NAMESPACES : case FIELD_ALLOWEDNAMESPACE : case FIELD_ALLOWEDNAMESPACES : return ( T ) getAllowedNamespaces ( ) ; case FIELD_SCM : return ( T ) getScm ( ) ; case FIELD_REPOSITORIES : return ( T ) getRepositories ( ) ; case FIELD_PROPERTIES : return ( T ) getProperties ( ) ; default : // Unknown field, probably a property return getProperty ( fieldName ) ; } }
Get an extension field by name . Fallback on properties .