View Javadoc
1   /**
2    * Copyright 2005-2014 The Kuali Foundation
3    *
4    * Licensed under the Educational Community License, Version 2.0 (the "License");
5    * you may not use this file except in compliance with the License.
6    * You may obtain a copy of the License at
7    *
8    * http://www.opensource.org/licenses/ecl2.php
9    *
10   * Unless required by applicable law or agreed to in writing, software
11   * distributed under the License is distributed on an "AS IS" BASIS,
12   * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13   * See the License for the specific language governing permissions and
14   * limitations under the License.
15   */
16  package org.kuali.rice.krad.uif.lifecycle.initialize;
17  
18  import org.kuali.rice.krad.uif.lifecycle.ViewLifecycle;
19  import org.kuali.rice.krad.uif.lifecycle.ViewLifecyclePhase;
20  import org.kuali.rice.krad.datadictionary.uif.UifDictionaryBean;
21  import org.kuali.rice.krad.uif.lifecycle.ViewLifecycleTaskBase;
22  
23  /**
24   * Populate property values on the component from the expression graph.
25   *
26   * @author Kuali Rice Team (rice.collab@kuali.org)
27   */
28  public class PopulateComponentFromExpressionGraphTask extends ViewLifecycleTaskBase<UifDictionaryBean> {
29  
30      /**
31       * Constructor.
32       *
33       * @param phase The initialize phase for the component.
34       */
35      public PopulateComponentFromExpressionGraphTask(ViewLifecyclePhase phase) {
36          super(phase, UifDictionaryBean.class);
37      }
38  
39      /**
40       * {@inheritDoc}
41       */
42      @Override
43      protected void performLifecycleTask() {
44          // the component can have an expression graph for which the expressions need pulled to
45          // the list the expression service will evaluate
46          if (!getElementState().getElement().getId().startsWith("null")) {
47              ViewLifecycle.getExpressionEvaluator()
48                  .populatePropertyExpressionsFromGraph((UifDictionaryBean) getElementState().getElement(), true);
49          }
50      }
51  
52  }