1 /** 2 * JORM: an implementation of a generic mapping system for persistent Java 3 * objects. Two mapping are supported: to RDBMS and to binary files. 4 * Copyright (C) 2001-2003 France Telecom R&D - INRIA 5 * 6 * This library is free software; you can redistribute it and/or 7 * modify it under the terms of the GNU Lesser General Public 8 * License as published by the Free Software Foundation; either 9 * version 2 of the License, or (at your option) any later version. 10 * 11 * This library is distributed in the hope that it will be useful, 12 * but WITHOUT ANY WARRANTY; without even the implied warranty of 13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 14 * Lesser General Public License for more details. 15 * 16 * You should have received a copy of the GNU Lesser General Public 17 * License along with this library; if not, write to the Free Software 18 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 19 * 20 * Contact: jorm-team@objectweb.org 21 * 22 */ 23 24 package org.objectweb.jorm.metainfo.api; 25 26 /** 27 * A ScalarField describes corresponds to a hidden field of a ClassObject or 28 * a Generic Class. For Classes, it is typically used to represent PNames. For 29 * Generic Class, it can also be used for the index attributes of the 30 * Generic Class. 31 * @author X. Spengler 32 */ 33 public interface ScalarField extends PrimitiveElement { 34 /** 35 * Set the null value for this field. 36 * @param value a string representation of the nullvalue 37 * 38 */ 39 void setNullValue(String value); 40 41 /** 42 * get the null value for this field. 43 * @return the string representation of the null value or null if there is no null value for this field. 44 */ 45 String getNullValue(); 46 47 /** 48 * get the null value for this field 49 * @return an object representing the null value according to the field 50 * type. For instance a null value for a byte scalar field is stored into a 51 * java.lang.Byte object. 52 */ 53 Object getNullValueObject(); 54 55 /** 56 * Test if the null value exists for this field. 57 * @return true if the null value exist for this field. 58 */ 59 boolean hasNullValue(); 60 } 61