All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.draagon.meta.object.data.DataObject Maven / Gradle / Ivy


package com.draagon.meta.object.data;

import com.draagon.meta.ValueException;
import com.draagon.meta.object.MetaObject;
import com.draagon.meta.util.DataConverter;

import java.util.*;

/**
 * Generic Map of fields and values that can be associated with a MetaObject. The values are retrieved
 * as "attributes".  You can also associate "properties" to the object that can be used for special behaviors
 * when persisting or transforming objects.
 */
public class DataObject extends DataObjectBase {

    /**
     * Create a generic data object associated to the MetaObject
     * @param mo MetaObject to associated
     */
    public DataObject(MetaObject mo ) {
        setMetaData( mo );
    }

    //////////////////////////////////////////////////////////////
    // SETTER VALUES
    
    private void _set( String name, Object value ) {
        _setObjectAttribute(name, value);
    }

    protected void _setBoolean(String name, Boolean value) {
        _set(name, value);
    }

    protected void _setByte(String name, Byte value)  {
        _set(name, value);
    }

    protected void _setShort(String name, Short value) {
        _set(name, value);
    }

    protected void _setInt(String name, Integer value) {
        _set(name, value);
    }

    protected void _setInteger(String name, Integer value) {
        _set(name, value);
    }

    protected void _setLong(String name, Long value) {
        _set(name, value);
    }

    protected void _setFloat(String name, Float value) {
        _set(name, value);
    }

    protected void _setDouble(String name, Double value) {
        _set(name, value);
    }

    protected void _setString(String name, String value) {
        _set(name, value);
    }

    protected void _setStringArray(String name, List value ) {
        _set( name, value );
    }

    protected void _setDate(String name, java.util.Date value) {
        _set(name, value);
    }

    protected  void _setClass( String name, Class value ) {
        _set(name, value );
    }

    protected  void _setObject(String name, T value) {
        _set(name, value);
    }

    protected  void _setObjectArray(String name, List value) {
        _set(name, value);
    }

    protected  void _addToObjectArray( String name, T value ) {
        List current = _getAndCreateObjectArray( (Class) value.getClass(), name );
        current.add( value );
    }


    //////////////////////////////////////////////////////////////
    // GETTER VALUES

    private Object _get(String name) {
        return _getObjectAttribute(name);
    }

    protected Boolean _getBoolean(String name) {
        return DataConverter.toBoolean(_get(name));
    }

    protected Byte _getByte(String name) {
        return DataConverter.toByte(_get(name));
    }

    protected Short _getShort(String name) {
        return DataConverter.toShort(_get(name));
    }

    protected Integer _getInt(String name) {
        return DataConverter.toInt(_get(name));
    }

    protected Integer _getInteger(String name) {
        return _getInt(name);
    }

    protected Long _getLong(String name) {
        return DataConverter.toLong(_get(name));
    }

    protected Float _getFloat(String name) {
        return DataConverter.toFloat(_get(name));
    }

    protected Double _getDouble(String name)  {
        return DataConverter.toDouble(_get(name));
    }

    protected String _getString(String name) {
        return DataConverter.toString(_get(name));
    }

    protected List _getStringArray( String fieldName ) {
        return DataConverter.toStringArray( _get( fieldName ));
    }

    protected java.util.Date _getDate(String name) {
        return DataConverter.toDate(_get(name));
    }

    protected  Class _getClass(Class clazz, String fieldName ) {
        return _objectToTypedClass( clazz, _get(fieldName));
    }

    protected  T _getObject( Class clazz, String name) {
        return (T) _get(name);
    }

    protected  List _getObjectArray( Class clazz, String name ) {
        return _objectToTypedArray( clazz, _get(name));
    }

    @Override
    public void validate() throws ValueException {
        if ( getMetaData() == null ) throw new IllegalStateException( "No MetaData is associated with this object" );
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy