public abstract class DeployedMeter extends Mbo implements DeployedMeterRemote
AssetMeter and 
 LocationMeter, referred to
 herein generically as DeployedMeter| Modifier and Type | Field and Description | 
|---|---|
| protected java.lang.String | appused in determining signature security for entering and modifying 
 meter readings. | 
| protected java.lang.String | avgCalcKeykey to be used in the average meter reading calculation for the
 subclass of this DeployedMeter. | 
| protected java.lang.String | coreAvgCalcSqlSQL string set in init() and used by all average calculation methods. | 
| protected java.lang.String | deployKeykey for the subclass of this DeployedMeter. | 
| protected MboRemote | earliestModifiedReadingspecifies the modified reading with the earliest readingdate. | 
| protected boolean | enteringReplacementReadingis this DeployedMeter in the process of adding a replacement
 meterreading? A replacement reading always has a delta of 0. | 
| protected boolean | isReadingUpdateused when rolling a meter reading down and/or forward. | 
| protected boolean | isWOMeterProcessflag to indicate whether the DeployedMeter is processing a
 WOMeter entry | 
| protected java.util.Hashtable | modifiedReadingscontains updated/modified readings. | 
| protected MboRemote | newMeterReadingnew reading for this DeployedMeter | 
| protected Mbo | origMRUpdatewhen performing a meter history update, this is the meter reading MBO that
 is at the beginning of the rollforward and at the top of the rolldown. | 
| protected java.lang.String | readingTabletable that holds the meter reading history for the subclass of this DeployedMeter. | 
| protected boolean | supressUniquenessErrorif DeployedMeter is being added from  MeterInGroupvia the 
 PropagateMeterGroupMod functionality, or if DeployedMeter is being added as a result of the 
 DeployedMeter's parent's GroupName attribute being modified, this flag is used byMeterService's meterUniqueToSet() method
  to supress the system's duplicatekey error. | 
| protected MboRemote | woForWOMeterwork order from which this DeployedMeter was instantiated. | 
| protected java.lang.String | woMeter_IdAttributeWOMETER.MeterReadingId or WOMETER.LocMeterReadingId
 depending on whether the WOMeter is for an AssetMeter 
 or LocationMeter. | 
MULTILANGCOPY, phantomList, phantomQueueALLROWS, CHANGEDBY_USER, COUNT_ADDITIONS, COUNT_AFTERSAVE, COUNT_DATABASE, COUNT_DELETED, COUNT_EXISTING, DBCONFIG, DELAYVALIDATION, DELAYVALIDATIONONLY, DISCARDABLE, GOTCOMPLETEWHERE, HIDDEN, NO_RELATEDMBOS_OF_OWNERSCHILDREN_FETCH, NOACCESSCHECK, NOACTION, NOADD, NOCOMMIT, NODELETE, NONE, NOOVERWRITE, NOSAVE, NOSETVALUE, NOUPDATE, NOVALIDATION, NOVALIDATION_AND_NOACTION, NOVALIDATION_AND_NOACTION_ALLOWCROSSOVER, READONLY, REBUILD, REQUIRED, SAMEVALUEVALIDATION, SETBYPARENT, USER| Constructor and Description | 
|---|
| DeployedMeter(MboSet ms)Constructs the DeployedMeter object. | 
| Modifier and Type | Method and Description | 
|---|---|
| void | add()adds a new DeployedMeter object and sets field defaults. | 
| void | addModifiedReadingsForAvgCalc(MboRemote reading)adds modified readings to be used to refresh the average reading for the DeployedMeter following
 a new meter reading or meter reading update. | 
| MboRemote | addReading()adds a new reading for the DeployedMeter | 
| void | appValidate()validates context-sensitive attributes AvgCalcInfo and AvgCalcMethod. | 
| void | canDelete()This DeployedMeter can be deleted if it does not exist in any of the following
 objects: | 
| boolean | canDeleteForecast(java.lang.String message) | 
| void | delete(long accessModifier)Mark the object to be deleted depending on the access modifier. | 
| void | enableDisable()sets read/writeability of non-persistent attributes listed below
 based on the status of the DeployedMeter's Active attribute. | 
| boolean | enterReadingOnMaterialIssue()called from an owning and new MatUseTrans object of IssueType ISSUE to
 record a meter reading when the item being issued is NOT rotating, 
 has a metername and is being issued to an Asset or Location,
 and the Asset or Location has an AssetMeter or LocationMeter
 with a metername that corresponds to the issued item's metername. | 
| java.lang.String | getAvgCalcMethod()returns the internal translation of the AvgCalcMethod value from the
 AVERAGEMETHOD domain. | 
| protected double | getDenominator(java.util.Date earliest,
              java.util.Date recent)Gets the denominator. | 
| protected abstract java.lang.Object[] | getDeploymentInfo()provides key value and meter reading table name information for the DeployedMeter's
 instanciated subclass, for example, an AssetMeter ("assetnum" and "meterreading")
 or LocationMeter ("location" and "locmeterreading"). | 
| boolean | getIsReadingUpdate()gets the yes/no flag that tells whether this DeployedMeter has been instanciated 
 while rolling a reading update down the hierarchy and forward through each
  DeployedMeter's meter reading history. | 
| boolean | getIsWOMeterProcess()gets the yes/no flag that tells whether this DeployedMeter has been instanciated 
 while processing a  WOMeterreading. | 
| MboRemote | getMeterReadingForKnownDate(java.util.Date dt)returns Reading object for date provided | 
| MboRemote | getNextMeterReading(java.util.Date followingDate) | 
| protected double | getNumerator()Gets the numerator. | 
| Mbo | getOrigMRUpdate() | 
| MboRemote | getPreviousMeterReading(java.util.Date previousToDate)gets the meter reading (for a DeployedMeter whose meter is of type
 CONTINUOUS) or measurement (for a DeployedMeter whose meter is of type 
 CHARACTERISTIC or GAUGE) that immediately precedes one of the following:
  meter reading/measurement being entered or updated for the DeployedMeter if meterreading activity is taking place current date/time, to get the last, that is, most recent reading taken for the DeployedMeter. | 
| java.lang.String | getReadingType()returns the internal translation of the ReadingType value from the
 READINGTYPE domain. | 
| double | getReadingValueAsDouble(java.util.Date dt)gets numeric (that is, GAUGE or CHARACTERISTIC) reading for a particular date. | 
| boolean | getSkipAverageRefresh() | 
| protected boolean | getSkipDateUniquenessCheck() | 
| boolean | getSupressUniquenessErrorFlag()returns the supressUniquenessError flag | 
| MeterRemote | getTheMeter() | 
| java.lang.String[] | getValidateOrder()Validation Order for DeployedMeter attributes. | 
| protected void | handleAssetMeterLocMeterForWOEnterMeterReading() | 
| protected boolean | hasDeployedMeterApprReadingDeletion()used by Reading object to determine whether this owning
 DeployedMeter object has determined that it is OK to
 delete the owner's ReadingSet. | 
| void | init()initialization routine for this object. | 
| boolean | isCurrentlyBeingAddedOnMeterGroupChange() | 
| protected boolean | isEnteringReplacementReading()is reading for this DeployedMeter a reset of the meter due to meter
 replacement? | 
| protected void | isMeterReadingDateUnique()makes sure that a reading has not already been entered for the exact same reading date
 to the millisecond. | 
| boolean | isNegativeAdjustment() | 
| boolean | isReadingMostRecentReading(java.util.Date readingDate)determines whether this DeployedMeter's LastReading and LastReadingDate attributes
 need to be updated. | 
| void | maintainWOMeter(MboRemote reading)adds a new WOMeter and sets the measurementid, meterreadingid or locmeterreadingid
 depending what kind of MBO the measurement/reading is, that is, Measurement, MeterReading or
 LocMeterReading. | 
| void | meterInGroupToDeployedMeter(MeterInGroupRemote meter,
                           boolean supressUniquenessError)sets meter-specific attributes for this DeployedMeter object from the passed in meter | 
| void | meterInGroupToDeployedMeter(MeterInGroupRemote meter,
                           boolean supressUniquenessError,
                           boolean supressDupSeqNumWarning)sets meter-specific attributes for this DeployedMeter object from the passed in meter | 
| void | modify()called whenever a field is modified to update the changedate and changeby attributes | 
| boolean | pmForecastExistsForMeterOnPM()Determines if this asset meter is used on a PM that has a forecast. | 
| protected abstract void | processContinuousReadings()processes the new or adjusted reading for the DeployedMeter | 
| void | processNonContinuousReadings()adds a new measurement for a  meter of typeGAUGE or CHARACTERISTIC | 
| protected void | refreshAverage() | 
| void | refreshPreviousReadingInfo(java.util.Date previousToDate)gets the previous meter reading and uses it to set the following
 non-persistent attributes:
 
  PreviousReading
  PreviousReadingDate
  PreviousReadingInspector
  | 
| void | resetMeter()resets the following DeployedMeter attributes:
 
 
      SINCELASTREPAIR
      SINCELASTOVERHAUL
      SINCELASTINSPECT
      SINCEINSTALL
      ROLLOVER
  | 
| java.lang.Object[] | returnDeploymentInfo()returns key value and meter reading table name information for the DeployedMeter's
 instanciated subclass, for example, an AssetMeter ("assetnum" and "meterreading")
 or LocationMeter ("location" and "locmeterreading"). | 
| MboRemote | returnReadingForWOMeterProcessing()returns reading to use for creation of a  WOMeterwhen processing a WOMeter. | 
| protected void | rolloverIsInProgress()controls the MXApplicationYesNoCancelException used
 to get user input re: whether or not a rollover is occurring;
 sets DoRollover attribute to be true when a reading for this 
 DeployedMeter is being processed as a rollover | 
| void | save()begins the process of entering a new meterreading object and/or rolling
 updates to an existing meterreading object down the hierarchy to LocationMeters
 that belong to children asset of this LocationMeter's asset and forward
 to other subsequent readings already recorded for this LocationMeter. | 
| void | setAdjustmentIsNegative(boolean adjustmentIsNegative) | 
| void | setCurrentlyBeingAddedOnMeterGroupChange(boolean currentlyBeingAddedOnMeterGroupChange) | 
| void | setIsReadingUpdate(boolean isUpdate)sets to true the yes/no flag that tells whether this DeployedMeter been instanciated 
 while rolling a reading update down the hierarchy and forward through each DeployedMeter's 
 meter reading history. | 
| void | setOrigMRUpdate(Mbo origMRUpdate)sets origMRUpdate with the meter reading whose update
                   began 'Update Meter History' processing | 
| void | setPreviousReadingInfoOnInit() | 
| void | setSkipAverageRefresh(boolean actReadInUpdateRangeAfterNewRead) | 
| protected void | setSkipDateUniquenessCheck(boolean skipDateUniquenessCheck) | 
| void | setTypeSpecificFlags()sets meter type-specific field flags | 
| void | undelete()Unmark the Mbo for deletion. | 
| void | validateALNEnteredDecimalValue(java.lang.String readingAttribute) | 
| protected void | validateReading(MboRemote readingMbo)validates readings for DeployedMeter.NewReading and 
 Reading.ModifiedReading | 
addMboSetForRequiredCheck, addToDeleteForInsertList, andEvaluateConditions, blindCopy, checkFieldAccess, checkMethodAccess, checkMethodAccess, checkQualifiedRestriction, checkRecordLock, checkSiteOrgAccessForSave, clear, clearRelatedSets, clearRelatedSets, commit, copy, copy, copy, copyFake, copyValue, copyValue, createComm, delete, deleteDoclinks, determineRequiredFieldsFromERM, duplicate, enableMethod, evaluateCondition, evaluateCondition, evaluateCtrlConditions, evaluateCtrlConditions, evaluateRestriction, excludeObjectForPropagate, findAllNullRequiredFields, fireEvent, generateAutoKey, generateContentUID, getAlwaysFlags, getAttrRestrictionFlag, getAttrRestrictions, getBoolean, getByte, getBytes, getCheckpoint, getClientLocale, getClientTimeZone, getCommLogOwnerNameAndUniqueId, getCondition, getDatabaseValue, getDate, getDeleteForInsertList, getDocLinksCount, getDomainFilterWhere, getDomainIDs, getDouble, getESId, getExistingMboSet, getFetchIndex, getFieldExceptions, getFlags, getFloat, getIgnoreLockCheck, getInitialValue, getInsertCompanySetId, getInsertItemSetId, getInsertOrganization, getInsertOrgForSite, getInsertSite, getInstanciatedMboSet, getInstanciatedMboValue, getInt, getIntegrationService, getKeyValue, getLanguageRecordRowStamp, getLinesRelationship, getList, getLockedByDisplayName, getLockedByUserID, getLong, getMatchingAttr, getMatchingAttr, getMatchingAttrs, getMaxMessage, getMboCtx, getMboData, getMboDataSet, getMboForAttribute, getMboForAttributeStatic, getMboInitialValue, getMboList, getMboLogger, getMboRecordData, getMboServer, getMboSet, getMboSet, getMboSet, getMboSetInfo, getMboSetInfo, getMboValue, getMboValueData, getMboValueData, getMboValueData, getMboValueDataForDownload, getMboValueInfoStatic, getMboValueInfoStatic, getMessage, getMessage, getMessage, getMessage, getMXTransaction, getName, getOrgForGL, getOrgSiteForMaxvar, getOwner, getProfile, getPropagateKeyFlag, getProxy, getRecordIdentifer, getRecordMboName, getRecordType, getRelatedSets, getRelatedWhere, getRelatedWhere, getRelationshipNameToLangTable, getResourceName, getRowRestrictionFlag, getRowStamp, getRowStampObject, getSecurityLogger, getSiteOrg, getSqlLogger, getString, getString, getStringInBaseLanguage, getStringInSpecificLocale, getStringTransparent, getSynonymValueWhere, getTenantId, getTenantIdForNoMboRecordData, getThisMboSet, getTranslator, getUniqueIdentifer, getUniqueIDName, getUniqueIDValue, getUniqueLanguageIDRecord, getUserInfo, getUserName, hasFieldAccess, hasHierarchyLink, hasLockSaveRights, hasRelatedQbe, hasUniqueID, initFieldFlagsOnMbo, initRelationship, isApiBatchError, isAppLockEnabled, isAutoKeyed, isBasedOn, isChangeByUserWhenSetFromLookup, isDuringInit, isEAuditFieldModified, isESigFieldModified, isFlagSet, isForDM, isLocked, isLocked, isLockedByMe, isMasterTenant, isMboLockedByMe, isModified, isModified, isNew, isNoSql, isNull, isOptionGranted, isSelected, isSkipCopyField, isValid, isZombie, lock, moveFieldFlagsToMboValue, needCallInitFieldFlag, orEvaluateConditions, propagateKeyValue, removeCtx, removeRelatedSet, resolveNoSqlWhere, rollbackToCheckpoint, select, setAppDefaultValue, setApplicationError, setApplicationRequired, setAutokeyFields, setCopyDefaults, setDatabaseDefaultValues, setDatabaseDefaultValues, setDefaultValue, setDefaultValues, setDeleted, setDuringInit, setEAuditFieldModified, setESId, setESigFieldModified, setFetchIndex, setFieldFlag, setFieldFlag, setFieldFlag, setFieldFlag, setFieldFlag, setFieldFlag, setFieldFlags, setFlag, setFlag, setFlags, setForDM, setHierarchyLink, setIgnoreRecordLockCheck, setLangCodeDefault, setMboCtx, setMLValue, setModified, setModifiedForIntegrationOnly, setNewMbo, setNoSql, setPropagateKeyFlag, setPropagateKeyFlag, setProxy, setReadonlyWhenParentIsReadonly, setRecordType, setReferencedMbo, setReferencedMbo, setResolveNoSqlWhere, setResourceName, setTenantIdForNoMboRecordData, setUniqueIDValue, setValue, setValue, setValue, setValue, setValue, setValue, setValue, setValue, setValue, setValue, setValue, setValue, setValue, setValue, setValue, setValue, setValue, setValue, setValue, setValue, setValue, setValue, setValue, setValueFromSequence, setValueNull, setValueNull, sigopGranted, sigopGranted, sigopGranted, sigopGranted, sigOptionAccessAuthorized, skipCopyField, smartFill, smartFind, smartFind, smartFind, smartFindByObjectName, smartFindByObjectName, smartFindByObjectNameDirect, startCheckpoint, thisToBeUpdated, throwRequiredException, toBeAdded, toBeDeleted, toBeSaved, toBeUpdated, toBeValidated, undeleteDoclinks, unlock, unselect, useDataSecurity, validate, validateAttributes, validateKeyUniqueness, valueChangedclone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitaddMboSetForRequiredCheck, addToDeleteForInsertList, blindCopy, checkMethodAccess, clear, copy, copy, copy, copyFake, copyValue, copyValue, createComm, delete, duplicate, evaluateCondition, evaluateCtrlConditions, evaluateCtrlConditions, excludeObjectForPropagate, generateAutoKey, getBoolean, getByte, getBytes, getCommLogOwnerNameAndUniqueId, getDatabaseValue, getDate, getDeleteForInsertList, getDocLinksCount, getDomainIDs, getDouble, getExistingMboSet, getFlags, getFloat, getIgnoreLockCheck, getInitialValue, getInsertCompanySetId, getInsertItemSetId, getInsertOrganization, getInsertSite, getInt, getKeyValue, getLinesRelationship, getList, getLockedByDisplayName, getLong, getMatchingAttr, getMatchingAttr, getMatchingAttrs, getMaxMessage, getMboData, getMboDataSet, getMboInitialValue, getMboList, getMboSet, getMboSet, getMboSet, getMboValueData, getMboValueData, getMboValueData, getMboValueDataForDownload, getMboValueInfoStatic, getMboValueInfoStatic, getMessage, getMessage, getMessage, getMessage, getMXTransaction, getName, getOrgForGL, getOrgSiteForMaxvar, getOwner, getPropagateKeyFlag, getRecordIdentifer, getSiteOrg, getString, getString, getStringInBaseLanguage, getStringInSpecificLocale, getStringTransparent, getThisMboSet, getUniqueIDName, getUniqueIDValue, getUserInfo, getUserName, hasHierarchyLink, hasLockSaveRights, isAutoKeyed, isBasedOn, isFlagSet, isForDM, isLocked, isLocked, isMasterTenant, isMboLockedByMe, isModified, isModified, isNew, isNull, isOptionGranted, isSelected, isZombie, lock, propagateKeyValue, rollbackToCheckpoint, select, setApplicationError, setApplicationRequired, setAutokeyFields, setCopyDefaults, setDeleted, setESigFieldModified, setFieldFlag, setFieldFlag, setFieldFlag, setFieldFlag, setFieldFlag, setFieldFlag, setFieldFlags, setFlag, setFlag, setFlags, setForDM, setIgnoreRecordLockCheck, setMLValue, setModified, setNewMbo, setPropagateKeyFlag, setPropagateKeyFlag, setReferencedMbo, setReferencedMbo, setValue, setValue, setValue, setValue, setValue, setValue, setValue, setValue, setValue, setValue, setValue, setValue, setValue, setValue, setValue, setValue, setValue, setValue, setValue, setValue, setValue, setValue, setValue, setValueNull, setValueNull, sigopGranted, sigopGranted, sigopGranted, sigOptionAccessAuthorized, smartFill, smartFind, smartFind, smartFind, smartFindByObjectName, smartFindByObjectName, smartFindByObjectNameDirect, startCheckpoint, thisToBeUpdated, toBeAdded, toBeDeleted, toBeSaved, toBeUpdated, toBeValidated, unlock, unselect, validate, validateAttributesprotected boolean isReadingUpdate
protected Mbo origMRUpdate
protected java.lang.String deployKey
AssetMeter would
 be "assetnum".protected java.lang.String readingTable
AssetMeter 
 would be "MeterReading".protected java.lang.String avgCalcKey
AssetMeter 
 is "assetid", and the average calculation key for
 LocationMeter is "location".protected java.lang.String coreAvgCalcSql
protected MboRemote newMeterReading
protected boolean isWOMeterProcess
protected MboRemote woForWOMeter
protected java.lang.String woMeter_IdAttribute
protected boolean supressUniquenessError
MeterInGroup via the 
 PropagateMeterGroupMod functionality, or if DeployedMeter is being added as a result of the 
 DeployedMeter's parent's GroupName attribute being modified, this flag is used by
 MeterService's meterUniqueToSet() method
  to supress the system's duplicatekey error.  This flag is set to true in 
 
 meterInGroupToAssetMeter(MeterInGroupRemote meter,boolean supressUniquenessError). 
 If true, error will not be thrown if a duplicate DeployedMeter
 addition is attempted.  Instead, it will be quietly removed from the set of DeployedMeters
 to be added.protected java.util.Hashtable modifiedReadings
FldMeterReadingDelta and 
 in FldReadingMeterReading.protected MboRemote earliestModifiedReading
DeployedMeter.addModifiedReadingsForAvgCalc(MboRemote) is called, if the added reading
 has an earlier readingdate than the current earliestModifiedReading, that new reading becomes the new earliestModifiedReading.
 The new reading is still added to the modifiedReadings hashtable.protected boolean enteringReplacementReading
protected java.lang.String app
DeployedMeter.getApp()public DeployedMeter(MboSet ms) throws MXException, java.rmi.RemoteException
MXExceptionjava.rmi.RemoteExceptionpublic boolean isNegativeAdjustment()
isNegativeAdjustment in interface DeployedMeterRemotepublic void setAdjustmentIsNegative(boolean adjustmentIsNegative)
setAdjustmentIsNegative in interface DeployedMeterRemotepublic void modify()
            throws MXException,
                   java.rmi.RemoteException
modify in class MboMXExceptionjava.rmi.RemoteExceptionpublic void addModifiedReadingsForAvgCalc(MboRemote reading) throws MXException, java.rmi.RemoteException
addModifiedReadingsForAvgCalc in interface DeployedMeterRemoterollId - key for a new entry in the adjustedDeltas hashtable.value - adjusted delta value for a new entry in the adjustedDeltas hashtable.MXExceptionjava.rmi.RemoteExceptionDeployedMeter.addModifiedReadingsForAvgCalc(MboRemote reading)protected void rolloverIsInProgress()
                             throws MXException,
                                    java.rmi.RemoteException
MXApplicationYesNoCancelException("DeployedMeter.rolloverIsInProgress()","meter","didRollOver") - when there is no user input registered to the Bulletin Board for this exceptionMXExceptionjava.rmi.RemoteExceptionDeployedMeter.appValidate(), 
Reading.appValidate()protected boolean isEnteringReplacementReading()
                                        throws MXException,
                                               java.rmi.RemoteException
MXExceptionjava.rmi.RemoteExceptionReading.add()public Mbo getOrigMRUpdate() throws MXException, java.rmi.RemoteException
getOrigMRUpdate in interface DeployedMeterRemoteMXExceptionjava.rmi.RemoteExceptionDeployedMeter.getOrigMRUpdate()public void setOrigMRUpdate(Mbo origMRUpdate) throws MXException, java.rmi.RemoteException
setOrigMRUpdate in interface DeployedMeterRemoteMXExceptionjava.rmi.RemoteExceptionpsdi.app.asset.MeterReading.save(), 
psdi.app.location.LocMeterReading.save()public java.lang.Object[] returnDeploymentInfo()
                                        throws MXException,
                                               java.rmi.RemoteException
returnDeploymentInfo in interface DeployedMeterRemoteMXExceptionjava.rmi.RemoteExceptionDeployedMeter.getDeploymentInfo()public boolean isReadingMostRecentReading(java.util.Date readingDate)
                                   throws MXException,
                                          java.rmi.RemoteException
isReadingMostRecentReading in interface DeployedMeterRemoteMXExceptionjava.rmi.RemoteExceptionDeployedMeter.isReadingMostRecentReading(Date readingDate)public void setIsReadingUpdate(boolean isUpdate)
                        throws MXException,
                               java.rmi.RemoteException
setIsReadingUpdate in interface DeployedMeterRemoteMXExceptionjava.rmi.RemoteExceptionDeployedMeter.setIsReadingUpdate(boolean isUpdate)public boolean getIsReadingUpdate()
                           throws MXException,
                                  java.rmi.RemoteException
getIsReadingUpdate in interface DeployedMeterRemoteMXExceptionjava.rmi.RemoteExceptionDeployedMeter.getIsReadingUpdate()public boolean getIsWOMeterProcess()
                            throws MXException,
                                   java.rmi.RemoteException
WOMeter reading.getIsWOMeterProcess in interface DeployedMeterRemoteMXExceptionjava.rmi.RemoteExceptionDeployedMeter.getIsWOMeterProcess()public boolean getSupressUniquenessErrorFlag()
                                      throws MXException,
                                             java.rmi.RemoteException
getSupressUniquenessErrorFlag in interface DeployedMeterRemoteMXExceptionjava.rmi.RemoteExceptionMeterService's meterUniqueToSet(), 
meterInGroupToAssetMeter(MeterInGroupRemote meter,boolean supressUniquenessError).protected void validateReading(MboRemote readingMbo) throws MXException, java.rmi.RemoteException
readingMbo - MXApplicationException("meter","bePositive") - when a negative value is entered.MXApplicationException("meter","cantExceedRollover") - when a reading exceeds the rollover value.MXApplicationException("meter","lowReading") - when a reading is less than the previous reading
                                                                                                                and it is neither a delta reading nor a 
                                                                                                                rolled over reading.MXExceptionjava.rmi.RemoteExceptionpublic MboRemote getNextMeterReading(java.util.Date followingDate) throws MXException, java.rmi.RemoteException
MXExceptionjava.rmi.RemoteExceptionpublic void add()
         throws MXException,
                java.rmi.RemoteException
add in interface MboRemoteadd in class MboMXExceptionjava.rmi.RemoteExceptionprotected boolean hasDeployedMeterApprReadingDeletion()
                                               throws MXException,
                                                      java.rmi.RemoteException
MXExceptionjava.rmi.RemoteExceptionReading.canDelete()public void canDelete()
               throws MXException,
                      java.rmi.RemoteException
canDelete in class MboMXApplicationException - ("meter","existsintable") when referenced by another object.MXExceptionjava.rmi.RemoteExceptionpublic boolean canDeleteForecast(java.lang.String message)
                          throws MXException,
                                 java.rmi.RemoteException
MXExceptionjava.rmi.RemoteExceptionpublic void delete(long accessModifier)
            throws MXException,
                   java.rmi.RemoteException
Mbodelete in interface MboRemotedelete in class MboaccessModifier - The bitwise flag specified to determine
                                                         if certain normal security checks are to be
                                                         bypassed for this delete request.
                                                         For example:
                                                         if the accessModifer is NOACCESSCHECK, then the
                                                         check for the object's NODELETE flag and the
                                                         call to the object's canDelete() method
                                                         will not be performed.
                                                     If the accessModifer is NONE, then all the
                                                         access checks are performed before this object
                                                         is marked delete.MXExceptionjava.rmi.RemoteExceptionMbo.delete(long)public void undelete()
              throws MXException,
                     java.rmi.RemoteException
Mboundelete in interface MboRemoteundelete in class MboMXExceptionjava.rmi.RemoteExceptionpublic void meterInGroupToDeployedMeter(MeterInGroupRemote meter, boolean supressUniquenessError) throws MXException, java.rmi.RemoteException
meterInGroupToDeployedMeter in interface DeployedMeterRemotemeter - MeterInGroupRemote object used to set meter-specific attributessupressUniquenessError - if DeployedMeter is being added from MeterInGroup via the
                  PropagateMeterGroupMod functionality, or if DeployedMeter is being added as a result
                  of the DeployedMeter's parent's GroupName attribute getting a value, supress the system's duplicatekey
                  errorMXExceptionjava.rmi.RemoteExceptionDeployedMeter.meterInGroupToDeployedMeter(MeterInGroupRemote meter,boolean supressUniquenessError)public boolean isCurrentlyBeingAddedOnMeterGroupChange()
                                                throws MXException,
                                                       java.rmi.RemoteException
isCurrentlyBeingAddedOnMeterGroupChange in interface DeployedMeterRemoteMXExceptionjava.rmi.RemoteExceptionDeployedMeter.isCurrentlyBeingAddedOnMeterGroupChange()public void setCurrentlyBeingAddedOnMeterGroupChange(boolean currentlyBeingAddedOnMeterGroupChange)
                                              throws MXException,
                                                     java.rmi.RemoteException
setCurrentlyBeingAddedOnMeterGroupChange in interface DeployedMeterRemoteMXExceptionjava.rmi.RemoteExceptionDeployedMeter.setCurrentlyBeingAddedOnMeterGroupChange(boolean currentlyBeingAddedOnMeterGroupChange)public void meterInGroupToDeployedMeter(MeterInGroupRemote meter, boolean supressUniquenessError, boolean supressDupSeqNumWarning) throws MXException, java.rmi.RemoteException
meterInGroupToDeployedMeter in interface DeployedMeterRemotemeter - MeterInGroupRemote object used to set meter-specific attributessupressUniquenessError - if DeployedMeter is being added from MeterInGroup via the
                  PropagateMeterGroupMod functionality, or if DeployedMeter is being added as a result
                  of the DeployedMeter's parent's GroupName attribute getting a value, supress the system's duplicatekey
                  errorsupressDupSeqNumWarning - user has chosen to add a new meter to a group with a duplicate sequence. Assume that it is OK to
              duplicate the sequence number on assets and locations that have this meter group.MXExceptionjava.rmi.RemoteExceptionDeployedMeter.meterInGroupToDeployedMeter(MeterInGroupRemote meter,boolean supressUniquenessError,boolean supressDupSeqNumWarning)public void init()
          throws MXException
init in class MboMXExceptionpublic java.lang.String getAvgCalcMethod()
                                  throws MXException,
                                         java.rmi.RemoteException
getAvgCalcMethod in interface DeployedMeterRemoteMXExceptionjava.rmi.RemoteExceptionDeployedMeter.getAvgCalcMethod()public java.lang.String getReadingType()
                                throws MXException,
                                       java.rmi.RemoteException
getReadingType in interface DeployedMeterRemoteMXExceptionjava.rmi.RemoteExceptionDeployedMeter.getReadingType()public MeterRemote getTheMeter() throws MXException, java.rmi.RemoteException
getTheMeter in interface DeployedMeterRemoteMXExceptionjava.rmi.RemoteExceptionpsdi.app.meter.DeployedMeter#isAReadingUpdate()protected abstract java.lang.Object[] getDeploymentInfo()
                                                 throws MXException,
                                                        java.rmi.RemoteException
MXExceptionjava.rmi.RemoteExceptionDeployedMeter.init(), 
getReadings()protected abstract void processContinuousReadings()
                                           throws MXException,
                                                  java.rmi.RemoteException
MXExceptionjava.rmi.RemoteExceptionprotected void refreshAverage()
                       throws MXException,
                              java.rmi.RemoteException
MXExceptionjava.rmi.RemoteExceptionpublic void setSkipAverageRefresh(boolean actReadInUpdateRangeAfterNewRead)
                           throws MXException,
                                  java.rmi.RemoteException
setSkipAverageRefresh in interface DeployedMeterRemoteMXExceptionjava.rmi.RemoteExceptionDeployedMeter.setSkipAverageRefresh(boolean)public boolean getSkipAverageRefresh()
                              throws MXException,
                                     java.rmi.RemoteException
getSkipAverageRefresh in interface DeployedMeterRemoteMXExceptionjava.rmi.RemoteExceptionDeployedMeter.getSkipAverageRefresh()public void setTypeSpecificFlags()
                          throws MXException,
                                 java.rmi.RemoteException
setTypeSpecificFlags in interface DeployedMeterRemoteMXExceptionjava.rmi.RemoteExceptioninit, 
FldAssetMeterMeterName, 
FldAssetMeterAvgCalcMethodpublic void enableDisable()
                   throws MXException,
                          java.rmi.RemoteException
enableDisable in interface DeployedMeterRemoteMXExceptionjava.rmi.RemoteExceptionDeployedMeter.checkEnterHistoryReadingAuth(), 
DeployedMeter.checkEnterNewReadingAuth(), 
DeployedMeter.init(), 
FldDeployedMeterActive.action()public void refreshPreviousReadingInfo(java.util.Date previousToDate)
                                throws MXException,
                                       java.rmi.RemoteException
Also, if NewReadingDate has been set, then method checks to see if the new reading is a new historic reading.
refreshPreviousReadingInfo in interface DeployedMeterRemoteMXExceptionjava.rmi.RemoteExceptionDeployedMeter.refreshPreviousReadingInfo(Date)public MboRemote getPreviousMeterReading(java.util.Date previousToDate) throws MXException, java.rmi.RemoteException
getPreviousMeterReading in interface DeployedMeterRemotepreviousToDate - date used to find the previous reading (that is,the reading that is older 
                       than but closest to the date)MXExceptionjava.rmi.RemoteExceptionDeployedMeter.refreshPreviousReadingInfo(Date previousToDate)public double getReadingValueAsDouble(java.util.Date dt)
                               throws MXException,
                                      java.rmi.RemoteException
getReadingValueAsDouble in interface DeployedMeterRemotedt - MXExceptionjava.rmi.RemoteExceptionDeployedMeter.getReadingValueAsDouble(Date)public MboRemote getMeterReadingForKnownDate(java.util.Date dt) throws MXException, java.rmi.RemoteException
getMeterReadingForKnownDate in interface DeployedMeterRemoteMXExceptionjava.rmi.RemoteExceptionDeployedMeter.getMeterReadingForKnownDate(Date)protected void setSkipDateUniquenessCheck(boolean skipDateUniquenessCheck)
                                   throws MXException,
                                          java.rmi.RemoteException
MXExceptionjava.rmi.RemoteException- sets 
   skipDateUniquenessCheck to true after setting NewReadingDate 
   to the server date., 
- sets
   skipDateUniquenessCheck to false after
 {@link psdi.app.meter.DeployedMeter#isMeterReadingDateUnique()
 psdi.app.meter.DeployedMeter.isMeterReadingDateUnique() 
 has been skipped}, 
DeployedMeter.getSkipDateUniquenessCheck(), 
DeployedMeter.isMeterReadingDateUnique()protected boolean getSkipDateUniquenessCheck()
                                      throws MXException,
                                             java.rmi.RemoteException
MXExceptionjava.rmi.RemoteExceptionprotected void isMeterReadingDateUnique()
                                 throws MXException,
                                        java.rmi.RemoteException
MXApplicationException("meter","duplicateReadingDate",param) - when duplicate dates
                are provided for continuous meter readings.MXApplicationException("meter","duplicateMeasurementDate",param) - when duplicate
                dates are provided for gauge or characteristic meter readings.MXExceptionjava.rmi.RemoteExceptionpublic void setPreviousReadingInfoOnInit()
                                  throws MXException,
                                         java.rmi.RemoteException
MXExceptionjava.rmi.RemoteExceptionpublic java.lang.String[] getValidateOrder()
getValidateOrder in class Mbopublic void appValidate()
                 throws MXException,
                        java.rmi.RemoteException
appValidate in class MboMXApplicationException - ("asset", "multiplier_null")MXApplicationException - ("asset", "value_null")MXExceptionjava.rmi.RemoteExceptionpublic void processNonContinuousReadings()
                                  throws MXException,
                                         java.rmi.RemoteException
meter of type 
 GAUGE or CHARACTERISTICprocessNonContinuousReadings in interface DeployedMeterRemoteMXExceptionjava.rmi.RemoteExceptionDeployedMeter.addMeasurement(), 
AssetMeter.save(), 
LocationMeter.save(), 
LocationMeter.save(), 
FldWOMeasurementValue.action(), 
FldWOMeasureDate.action(), 
FldWOPointNum.action()public MboRemote addReading() throws MXException, java.rmi.RemoteException
addReading in interface DeployedMeterRemoteMXExceptionjava.rmi.RemoteExceptionDeployedMeter.addReading()public void maintainWOMeter(MboRemote reading) throws MXException, java.rmi.RemoteException
maintainWOMeter in interface DeployedMeterRemotereading - measurement/reading that is the basis for the new WOMeterMXExceptionjava.rmi.RemoteExceptionDeployedMeter.maintainWOMeter(MboRemote reading)public MboRemote returnReadingForWOMeterProcessing() throws MXException, java.rmi.RemoteException
WOMeter 
 when processing a WOMeter. This reading will be a Measurement if the 
 meter is of type GAUGE or CHARACTERISTIC. This
 reading will be a MeterReading (for an AssetMeter) or a LocMeterReading
 (for a LocationMeter) if the meter is of type 
 CONTINUOUS.  If the measurement/reading has already been added, the reading
 is not added again. Only a WOMeter is created based on the already-entered
 reading. If the measurement/reading has not already been added, then this will 
 return null and a new Measurement, MeterReading or LocMeterReading will be added 
 before adding the new WOMeter.returnReadingForWOMeterProcessing in interface DeployedMeterRemoteMXExceptionjava.rmi.RemoteExceptionAssetMeter.save(), 
LocationMeter.save()public void resetMeter()
                throws MXException,
                       java.rmi.RemoteException
resetMeter in interface DeployedMeterRemoteMXExceptionjava.rmi.RemoteExceptionDeployedMeter.resetMeter()protected void handleAssetMeterLocMeterForWOEnterMeterReading()
                                                       throws MXException,
                                                              java.rmi.RemoteException
MXExceptionjava.rmi.RemoteExceptionpublic void save()
          throws MXException,
                 java.rmi.RemoteException
save in class MboMXExceptionjava.rmi.RemoteExceptionenterNewReading, 
updateCumulativespublic boolean enterReadingOnMaterialIssue()
                                    throws MXException,
                                           java.rmi.RemoteException
enterReadingOnMaterialIssue in interface DeployedMeterRemoteMXExceptionjava.rmi.RemoteExceptionDeployedMeter.enterReadingOnMaterialIssue()public void validateALNEnteredDecimalValue(java.lang.String readingAttribute)
                                    throws MXException,
                                           java.rmi.RemoteException
MXExceptionjava.rmi.RemoteExceptionprotected double getNumerator()
                       throws MXException,
                              java.rmi.RemoteException
MXException - the mX exceptionjava.rmi.RemoteException - the remote exceptionprotected double getDenominator(java.util.Date earliest,
                                java.util.Date recent)
                         throws MXException,
                                java.rmi.RemoteException
earliest - the earliest daterecent - the recent dateMXException - the mX exceptionjava.rmi.RemoteException - the remote exceptionpublic boolean pmForecastExistsForMeterOnPM()
                                     throws MXException,
                                            java.rmi.RemoteException
MXExceptionjava.rmi.RemoteException