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