Name |
---|
com::wombat::mama |
Name | |
---|---|
class | com::wombat::mama::MamaFieldCacheDateTime |
//--------------------------------------------------------------------------
// Copyright (c) 1999-2006 Wombat Financial Software Inc., of Incline
// Village, NV. All rights reserved.
//
// This software and documentation constitute an unpublished work and
// contain valuable trade secrets and proprietary information belonging
// to Wombat. None of this material may be copied, duplicated or
// disclosed without the express written permission of Wombat.
//
// WOMBAT EXPRESSLY DISCLAIMS ANY AND ALL WARRANTIES CONCERNING THIS
// SOFTWARE AND DOCUMENTATION, INCLUDING ANY WARRANTIES OF
// MERCHANTABILITY AND/OR FITNESS FOR ANY PARTICULAR PURPOSE, AND
// WARRANTIES OF PERFORMANCE, AND ANY WARRANTY THAT MIGHT OTHERWISE ARISE
// FROM COURSE OF DEALING OR USAGE OF TRADE. NO WARRANTY IS EITHER
// EXPRESS OR IMPLIED WITH RESPECT TO THE USE OF THE SOFTWARE OR
// DOCUMENTATION.
//
// Under no circumstances shall Wombat be liable for incidental, special,
// indirect, direct or consequential damages or loss of profits,
// interruption of business, or related expenses which may arise from use
// of software or documentation, including but not limited to those
// resulting from defects in software and/or documentation, or loss or
// inaccuracy of data of any kind.
//
//----------------------------------------------------------------------------
package com.wombat.mama;
public class MamaFieldCacheDateTime extends MamaFieldCacheField
{
private MamaDateTime mValue;
public MamaFieldCacheDateTime (MamaFieldDescriptor desc)
{
super (desc,MamaFieldDescriptor.DATETIME);
mValue = null;
}
public MamaFieldCacheDateTime (int fid, String name, boolean trackModState)
{
super (fid,MamaFieldDescriptor.DATETIME,name,trackModState);
mValue = null;
}
/* Description : This function will add the contents of the cache field
* to the supplied message.
* Arguments : fieldName [I] True to add the field name to the message.
* message [I] The message where the field will be added.
*/
public void addToMessage(boolean fieldName, MamaMsg message)
{
// Check to see if field names should be added
String name = null;
if (fieldName)
{
// Get the field name from the descriptor
name = mDesc.getName();
}
// Add the value
message.addDateTime(name, mDesc.getFid (), mValue);
}
public MamaFieldCacheField copy ()
{
MamaFieldCacheDateTime result = new MamaFieldCacheDateTime (
mDesc.getFid (),
mDesc.getName (),
mTrackModState);
result.mValue = new MamaDateTime (mValue);
return result;
}
public void apply(MamaMsgField msgField)
{
mValue = msgField.getDateTime ();
}
public void set (MamaDateTime value)
{
if (mTrackModState)
{
if (mValue == value)
{
if (isModified())
setModState (MamaFieldCacheField.MOD_STATE_TOUCHED);
return;
}
else
{
setModState (MamaFieldCacheField.MOD_STATE_MODIFIED);
// Drop through to assignment.
}
}
if (value == null)
mValue = null;
else
{
if (mValue == null)
mValue = new MamaDateTime (value);
else
mValue.copy(value);
}
}
public boolean isEqual (MamaDateTime value)
{
if (mValue == null)
{
return (value == null);
}
else
{
return mValue.equals(value);
}
}
public MamaDateTime get ()
{
return (mValue != null) ? mValue : null;
}
public void get (MamaDateTime result)
{
result = mValue;
}
public String getAsString()
{
return (mValue != null) ? mValue.toString() : "null";
}
public void apply (MamaFieldCacheField value)
{
if (value == null)
throw new MamaException("MamaFieldCacheDateTime.apply() cannot be called with a null value");
if (((MamaFieldCacheDateTime)value).get() == null)
{
mValue = null;
return;
}
if (mValue == null)
mValue = new MamaDateTime(((MamaFieldCacheDateTime)value).mValue);
else
mValue.copy (((MamaFieldCacheDateTime)value).mValue);
}
}
Updated on 2023-03-31 at 15:29:45 +0100