View Javadoc

1   package com.melloware.jukes.gui.view.validation;
2   
3   import com.jgoodies.uif.action.ActionManager;
4   import com.jgoodies.validation.ValidationResult;
5   import com.melloware.jukes.db.orm.Artist;
6   import com.melloware.jukes.gui.tool.Actions;
7   
8   /**
9    * Provides all models to bind an artist editor to its domain model, an instance
10   * of {@link Artist}.
11   * <p>
12   * Copyright (c) 1999-2007 Melloware, Inc. <http://www.melloware.com>
13   * @author Emil A. Lefkof III <info@melloware.com>
14   * @version 4.0
15   */
16  public final class ArtistValidationModel extends AbstractValidationModel {
17  
18     private static final String[] VALIDATION_PROPERTIES = { Artist.PROPERTYNAME_NAME, Artist.PROPERTYNAME_NOTES };
19  
20     /**
21      * Constructor that takes an Artist object.
22      * <p>
23      * @param aArtist the domain object
24      */
25     public ArtistValidationModel(Artist aArtist) {
26        super(aArtist);
27     }
28  
29     @Override
30     protected void updateValidationResult() {
31        Artist artist = (Artist) getBean();
32        ValidationResult result = new ArtistValidator(artist).validate(null);
33        validationResultModel.setResult(result);
34     }
35  
36     /**
37      * Turns the buttons on this editor on or off based on state of the
38      * underlying ORM object. If it is modified turn these on.
39      * <p>
40      * @param enabled true to enable false to disable
41      */
42     @Override
43     public void updateButtonState(boolean enabled) {
44        this.dirty = enabled;
45        ActionManager.get(Actions.COMMIT_ID).setEnabled(enabled);
46        ActionManager.get(Actions.ROLLBACK_ID).setEnabled(enabled);
47        ActionManager.get(Actions.DELETE_ID).setEnabled(enabled);
48     }
49  
50     /*
51      * (non-Javadoc)
52      * @seecom.melloware.jukes.gui.view.validation.AbstractValidationModel#
53      * gtePropertiesToCheck()
54      */
55     @Override
56     protected String[] getPropertiesToCheck() {
57        return VALIDATION_PROPERTIES;
58     }
59  
60  }