View Javadoc

1   /**
2    * Copyright 2012 The Kuali Foundation Licensed under the
3    * Educational Community License, Version 2.0 (the "License"); you may
4    * not use this file except in compliance with the License. You may
5    * obtain a copy of the License at
6    *
7    * http://www.osedu.org/licenses/ECL-2.0
8    *
9    * Unless required by applicable law or agreed to in writing,
10   * software distributed under the License is distributed on an "AS IS"
11   * BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
12   * or implied. See the License for the specific language governing
13   * permissions and limitations under the License.
14   *
15   * Created by Charles on 7/10/12
16   */
17  package org.kuali.student.r2.common.assembler;
18  
19  /**
20   * This class //TODO ...
21   *
22   * @author Kuali Student Team
23   */
24  public abstract class DynamicAttrReadOnlyWrapper<DtoClass> {
25      private Class clazz;
26      private DtoClass dtoInstance;
27      private String dynAttrName;
28  
29      public DynamicAttrReadOnlyWrapper(DtoClass dtoInstance, Class clazz, String dynAttrName) {
30          this.dtoInstance = dtoInstance;
31          this.clazz = clazz;
32          this.dynAttrName = dynAttrName;
33      }
34  
35      /**
36       * Checks to see if this dyn attribute has the same name as the parameter passed in
37       * @param name A dyn attribute name (usually in the constants file)
38       * @return Whether the string passed in matches the dyn attribute
39       */
40      public boolean hasDynAttrName(String name) {
41          return dynAttrName.equals(name);
42      }
43  
44      /**
45       * @return The name of the dynamic attribute
46       */
47      public String getDynAttrName() {
48          return dynAttrName;
49      }
50  
51      public DtoClass getDto() {
52          return dtoInstance;
53      }
54  
55      // Writing out a value only requires reading the value from the DtoClass
56      public abstract String writeOutStringValue();
57  }
58