public FieldMetadata getFieldMetadata()

in modello-plugins/modello-plugin-store/src/main/java/org/apache/archiva/redback/components/modello/plugin/store/metadata/StoreMetadataPlugin.java [89:125]


    public FieldMetadata getFieldMetadata( ModelField field, Map data )
        throws ModelloException
    {
        StoreFieldMetadata metadata = new StoreFieldMetadata();

        // ----------------------------------------------------------------------
        // Fields are per default storable as the fields can't be persisted
        // unless the class itself is storable.
        // ----------------------------------------------------------------------

        metadata.setStorable( getBoolean( data, "stash.storable", true ) );

        String maxSize = (String) data.get( "stash.maxSize" );

        if ( !StringUtils.isEmpty( maxSize ) )
        {
            if ( !field.getType().equals( "String" ) )
            {
                throw new ModelloException( "When specifying max size on a field the type must be String. " +
                                            "Class: '" + field.getModelClass().getName() + "', " +
                                            "field : '" + field.getName() + "'." );
            }

            try
            {
                metadata.setMaxSize( Integer.parseInt( maxSize ) );
            }
            catch ( NumberFormatException e )
            {
                throw new ModelloException( "Max size on a field the type must be String. " +
                                            "Class: '" + field.getModelClass().getName() + "', " +
                                            "field : '" + field.getName() + "'." );
            }
        }

        return metadata;
    }