Sapphire Developer Guide > Releases > 8.2

Enhancements in Sapphire 8.2

  1. Length Constraints
  2. Color

Length Constraints

The new @Length annotation allows min and max constraints to be specified for the text length of a value property or the item count of a list property. It replaces the now deprecated @CountConstraint annotation that applies only to list properties.

// *** Comment ***

@Length( max = 500 )

ValueProperty PROP_COMMENT = new ValueProperty( TYPE, "Comment" );

Value getComment();
void setComment( String value );
// *** Entries ***

@Type( base = PurchaseOrderEntry.class )
@Length( min = 1, max = 100 )

ListProperty PROP_ENTRIES = new ListProperty( TYPE, "Entries" );

ElementList<PurchaseOrderEntry> getEntries();

If the maximum length is specified and the text field property editor presentation is used, capacity feedback is displayed beneath the text field.

Color

The Color class can now be directly constructed from #RRGGBB string representation.

public final class Color
{
    /**
     * Creates a new color object from a string in #RRGGBB format, where RR, GG and BB are hex numbers
     * from 00 to FF corresponding to red, green and blue components of the color.
     * 
     * @param color a string representation of a color
     * @throws IllegalArgumentException if the color string is null or is not of the expected format
     * @since 8.2
     */
    
    public Color( String color )

    /**
     * Creates a new color object.
     * 
     * @param red the value of the red channel, between 0 and 255
     * @param green the value of the green channel, between 0 and 255
     * @param blue the value of the blue channel, between 0 and 255
     * @throws IllegalArgumentException if a channel value is not within range
     */
    
    public Color( int red, int green, int blue )
    
}