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.core.api.reflect;
17  
18  /**
19   * Constructor param on an {@link ObjectDefinition}.  Represents an object and it's type.
20   * 
21   * @author Kuali Rice Team (rice.collab@kuali.org)
22   */
23  public class DataDefinition implements java.io.Serializable {
24  
25  	private static final long serialVersionUID = 2171793503482942282L;
26  	private final Object value;
27      private final Class type;
28      
29      public DataDefinition(Object value) {
30      	if (value == null) {
31      		throw new IllegalArgumentException("Can't determine data type from null value.");
32      	}
33      	this.value = value;
34      	this.type = value.getClass();
35      }
36      
37      public DataDefinition(Object value, Class type) {
38          this.value = value;
39          this.type = type;
40      }
41          
42      public Object getValue() {
43          return this.value;
44      }
45      
46      public Class getType() {
47          return this.type;
48      }
49      
50  }