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