public class MyTISMBenachrichtigung extends de.ipcon.db.core.MyTISMBenachrichtigungBase implements NotificationTemplateContextProviderI
| Modifier and Type | Field and Description |
|---|---|
java.lang.Object |
catchallForTest |
static java.lang.String |
EV_NAME_CATCHALL |
static java.lang.String |
EV_NAME_USE_LOCALES |
ATT_Absender, ATT_AdressenOhneVersendungen, ATT_AktuellsteFehlgeschlageneVersendungen, ATT_AnhangBOs, ATT_Antworten, ATT_Auftrag, ATT_Beantwortet, ATT_BeantwortetAm, ATT_Betreff, ATT_Datum, ATT_Empfaenger, ATT_ErfolgreichVersendet, ATT_Gelesen, ATT_GelesenAm, ATT_LetzteVersendungOderSendeversuchAm, ATT_Locale, ATT_NeuesteVersendungProAdresse, ATT_Prioritaet, ATT_Stufe, ATT_Text, ATT_ThreadPosition, ATT_Versendungen, ENT_MyTISMBenachrichtigungBLOB_KEY, CANCEL_RECALC_CALLED, D_0, D_1, D_10, D_100, D_1000, D_10000, D_5, D_MINUS_1, D_MINUS_ONE, D_ONE, D_ZERO, doExWriteLRMFunction, EMPTY_ARRAY, F_0, F_1, L_0, L10N_KEY_BO_INSTANTIATION, L10N_KEY_BO_WITH_PROTECTED_CONSTRUCTOR, NULL_AGGREGATE, NULL_ITERATORATT_Badge, ATT_Badge2, ATT_Badge3, ATT_Badge4, ATT_BLOBCreatedBy, ATT_BLOBCreatedOn, ATT_BLOBDeletedBy, ATT_BLOBDeletedOn, ATT_BLOBLastModifiedBy, ATT_BLOBLastModifiedOn, ATT_Bot, ATT_Crea, ATT_CreatedBy, ATT_CreatedModifiedText, ATT_Id, ATT_InvolvedInProcs, ATT_LastModifiedBy, ATT_Ldel, ATT_Lmod, ATT_Procs, ENT_BO| Constructor and Description |
|---|
MyTISMBenachrichtigung() |
| Modifier and Type | Method and Description |
|---|---|
void |
addAntwort(MyTISMBenachrichtigungsAuftrag _ba) |
java.util.Date |
determineBeantwortetAm() |
L10nLocale |
determinePreferredLocale() |
ReceiverDeterminationResult |
determineReceiverToUse(Transaction tx)
Checks if the receiver defined for this notification can actually be used to send notifications too; if
not, for some reason, see if a catchall is defined and can be used instead.
|
MyTISMAdresse[] |
filterPermittedAddresses(MyTISMAdresse[] addresses)
Returns an array containing only those MyTISMAdresse-s from the passed array that have an allowed
MyTISMAdressetyp-s, or all of them if there is no such limitation in place or if we are not
connected to a MyTISMBenachrichtigungsAuftrag at all.
|
CoreBO |
getAbsender() |
java.util.Map<java.lang.Long,MyTISMAdresse> |
getAdressenOhneVersendungen() |
ReceiverDeterminationResult |
getAdressenToNotify(NotificationReceiverI receiver,
Transaction tx)
Checks if the given receiver is useable and determine and return the addresses to send this notification to in
that case; if the receiver is not useable for some reason the result will only contain info about the
reason for that.
|
java.util.Map<java.lang.Long,Benachrichtigungsversendung> |
getAktuellsteFehlgeschlageneVersendungen() |
java.util.Map<java.lang.Long,MyTISMAnhangBOEintrag> |
getAnhangBOs() |
java.lang.Boolean |
getBeantwortet() |
NotificationReceiverI |
getCatchall(NotificationReceiverI receiver)
Determines and returns the matching catchall (if any) for the given
NotificationReceiverI. |
java.util.Map<java.lang.String,java.lang.Object> |
getContextParameters() |
java.util.Date |
getDatum() |
java.lang.String |
getEncoding()
Deprecated.
|
java.lang.Boolean |
getErfolgreichVersendet()
Determines and returns whether this notification can be considered as sent out successfully as far as sending
info (
Benachrichtigungsversendung instances) are available. |
Formular |
getFormularFuerBenutzer(Benutzer ben)
Use the Auftrags PassenderTyp to determine the form for the passed user.
|
java.lang.Boolean |
getGelesen() |
java.lang.String |
getInterpretedBetreff() |
java.lang.String |
getInterpretedText() |
java.util.Map<java.lang.Long,MyTISMKontextBOEintrag> |
getKontextBOs() |
java.util.Date |
getLetzteVersendungOderSendeversuchAm() |
L10nLocale |
getLocale() |
java.util.Map<java.lang.Long,Benachrichtigungsversendung> |
getNeuesteVersendungProAdresse() |
java.lang.String |
getPermittedTypesAsString()
Returns a comma separated list of Strings representing the explicitly allowed MyTISMAdressetyp-s,
or the empty String if no such limitation is in place or if we are not connected to a
MyTISMBenachrichtigungsAuftrag at all.
|
java.lang.Integer |
getPrioritaet() |
ReceiverDeterminationResult |
getReceiverDeterminationResult() |
java.lang.Integer |
getStufe() |
java.lang.Integer |
getThreadPosition() |
java.lang.Boolean |
getUseInlinePGP() |
boolean |
hadTooManyRetries()
Checks if sending out this
MyTISMBenachrichtigung was tried to
often. |
boolean |
hadTooManyRetries(MyTISMAdresse ma) |
boolean |
hadTooManyRetries(MyTISMAdresse ma,
int limit) |
boolean |
hasAntworten() |
boolean |
hasOnlySomeAddressesMissingSendinginfo(Transaction tx) |
static java.lang.String |
interpret(FormatterI _formatter,
java.lang.String _template,
java.util.Date _dateNow,
java.util.Map<java.lang.String,java.lang.Object> _mapContext,
java.lang.String _origin)
Interprets the given template as a
GStringTemplate and return the resulting string. |
static java.lang.String |
interpret(FormatterI _formatter,
java.lang.String _template,
java.util.Date _dateNow,
java.util.Map<java.lang.String,java.lang.Object> _mapContext,
java.lang.String _origin,
L10nLocale _locale) |
boolean |
isUserInvolved(Benutzer user)
checks if this user is involved in this notification as either recipient or
sender, either directly or indirectly, if the notification was addressed to or
sent from one of the user's groups instead.
|
boolean |
isUserInvolved(Benutzer user,
boolean alsoCheckGroups) |
static MyTISMBenachrichtigung |
of(Transaction tx,
MyTISMBenachrichtigung newInstance,
NotificationReceiverI receiver,
MyTISMBenachrichtigungsAuftrag order)
Deprecated.
use
init() with an already included MyTISMBenachrichtigung instance of the right
subclass instead |
static MyTISMBenachrichtigung |
of(Transaction tx,
NotificationReceiverI receiver,
MyTISMBenachrichtigungsAuftrag order) |
boolean |
permitsTypeOf(MyTISMAdresse address)
Returns true if the type of the passed MyTISMAdresse is among the explicitly allowed types of our
MyTISMBenachrichtigungsAuftrag or if we are not connected to a MyTISMBenachrichtigungsAuftrag at all.
|
void |
removeAntwort(MyTISMBenachrichtigungsAuftrag _ba) |
java.util.Date |
sendingFailedMostRecentlyOn() |
void |
setReceiverDeterminationResult(ReceiverDeterminationResult $45) |
boolean |
shouldBeSentOut() |
boolean |
stillNeedsToBeSentOut() |
boolean |
wasSentOutSuccessfully(MyTISMAdresse ma)
Returns
true when this notification was sent out successfully for
the given MyTISMAdresse; returns false if there is no
Benachrichtigungsversendung with Erfolgreich = true for that address. |
addVersendung, copyFrom, copyFrom, equalPayload, getAdressenOhneVersendungenIterator, getAktuellsteFehlgeschlageneVersendungenIterator, getAnhangBOsIterator, getAntworten, getAntwortenIterator, getAuftrag, getBeantwortetAm, getBeantwortetNN, getBeantwortetNN, getBetreff, getBetreffNE, getBetreffNN, getBetreffNN, getEmpfaenger, getErfolgreichVersendetNN, getErfolgreichVersendetNN, getGelesenAm, getGelesenNN, getGelesenNN, getNeuesteVersendungProAdresseIterator, getPrioritaetNN, getPrioritaetNN, getStufeNN, getStufeNN, getText, getTextNE, getTextNN, getTextNN, getThreadPositionNN, getThreadPositionNN, getVersendungen, getVersendungenIterator, istBeantwortet, istErfolgreichVersendet, istGelesen, needAbsender, needAuftrag, needBeantwortet, needBeantwortetAm, needBetreff, needDatum, needEmpfaenger, needErfolgreichVersendet, needGelesen, needGelesenAm, needLetzteVersendungOderSendeversuchAm, needLocale, needPopulatedAdressenOhneVersendungen, needPopulatedAktuellsteFehlgeschlageneVersendungen, needPopulatedAnhangBOs, needPopulatedAntworten, needPopulatedNeuesteVersendungProAdresse, needPopulatedVersendungen, needPrioritaet, needStufe, needText, needThreadPosition, pgetAntwortenLazy, pgetVersendungenLazy, readExternal, removeVersendung, setAntworten, setAuftrag, setBeantwortetAm, setBetreff, setBOLoader, setEmpfaenger, setGelesenAm, setText, setVersendungen, slim, slim, writeExternal_set, $, $, $, $$, $$bo, $$o, $$r, $$ri, $$ri, acquireTxWriteLock, add, afterSaveOnClient, afterSaveOnServer, afterVerifyOnClient, afterVerifyOnServer, aggregate, aggregate, aggregate, aggregate, badge, badge, beforeVerifyOnClient, beforeVerifyOnServer, bumpVersion, cacheLocally, cacheLocally, cacheLocallyAndThrowUnwrappedCause, cacheLocallyAndThrowUnwrappedCause, cacheLocallyAndThrowUnwrappedUncheckedCause, cacheLocallyAndThrowUnwrappedUncheckedCause, cancelCheckConstraints, cancelRecalc, cancelRecalcViaLoadingTransaction, clone, commitTransaction, computeTransientPropertyIfAbsent, conciseDesc, conciseDesc, conciseDesc, conciseDesc, conciseDesc, conciseDesc, conciseDesc, conciseDesc, consumeAndAssureTransientPropertyExists, copyBLOBFrom, createCopy, createCopy, deepClone, deepClone, delete, describe, describe, describe, describe, describe, describe, describe, describe, describe, describe, describeId, describeId, describeId, describeId, describeId, describeId, describeId, describeId, describeNE, describeNE, describeNE, describeNE, describeNE, destub, equalPayload, equalPayload, equalPayload, equalPayload, equals, equalsBO, equalsBO, equalsRegardingAttrs, exportBLOB, exReadString, exWriteString, forgetTransientBLOBHandle, frap, getAsBOInIssueReports, getAsBOInIssueReportsIterator, getAsString, getBackendBOLoaderWithPersistenceHandler, getBadge, getBadge, getBadge2, getBadge3, getBadge4, getBLOB, getBLOB, getBLOB, getBLOB, getBLOB, getBLOBAsDataInput, getBLOBAsEncodedString, getBLOBAsEncodedString, getBLOBAsInputStream, getBLOBAsUTF8EncodedString, getBLOBCreatedBy, getBLOBCreatedOn, getBLOBDeletedBy, getBLOBDeletedOn, getBLOBInfo, getBLOBLastModifiedBy, getBLOBLastModifiedOn, getBOLoader, getBot, getBOVersion, getBytes, getCache, getCache, getCache, getCache, getCache, getCacheNT, getCacheNT, getCacheNT, getCacheNT, getCacheNT, getCacheProvider, getCacheProvider, getClazz, getCreatedBy, getCreatedModifiedText, getDefaultScriptImportsList, getDefaultScriptImportsList, getDefaultScriptImportsList, getDescribingBOWrapper, getDescribingBOWrapper, getEventProvider, getEventProvider, getId, getInvolvedInProcs, getInvolvedInProcsIterator, getLastModifiedBy, getLazyData, getLoadingTransaction, getNullIterator, getOrCreate, getOrCreate, getOrCreate, getOrCreate, getOrCreate, getOrCreate, getOrCreate, getPermissionHandler, getProcs, getProcsIterator, getRootLoaderSchema, getSchema, getSizeFast, getTransaction, getTransientProperty, getTransientProperty, getWrappedTransientProperty, hasActiveTransaction, hasBLOB, hasBLOBOnServerSide, hasBOAssignedTempId, hashCode, hasRelationObjects, hasRelationObjects, hasSessionAssignedTempId, hasTempId, hasTempIdForNewBOs, hasTransientProperty, hasTransientPropertyUnfiltered, includeAllowed, includeInTransaction, invalidateBLOBCache, isBOAssignedTempId, isCompoundChangeInProgress, isCurrentTransactionUnderAdminControl, isIgnoreModificationConstraints, isMandatory, isNew, isReadOnly, isServerSideAndLoadedReadOnly, isSessionAssignedTempId, isStub, isTempId, isTempIdForNewInstance, isTemporary, isVisible, isWriteable, markCompoundChangeInProgress, markDelete, markUndelete, needLoadingTransaction, needsReload, needTransactionInclusion, newInstance, newInstance, newInstance, newInstance, newInstance, newInstance, nextTempId, notifyMessageBus, notifyMessageBus, notifyMessageBus, notifyMessageBus, notifyMessageBus, notifyMessageBus, notifyMessageBusOfAdd, notifyMessageBusOfRemove, nullSafeCompareTo, nullSafeCompareTo, nullSafeContainsBO, nullSafeContainsBO, nullSafeEquals, nullSafeEqualsBO, nullSafeEqualsBO, ofStub, propertyMissing, propertyMissing, releaseCompoundChangeInProgress, releaseTxWriteLock, remove, removeBLOB, requireNonEmptyRelation, requireNonNullAttribute, requireNonNullAttributes, requireNonNullAttributes, requireNonNullAttributes, requireNonNullAttributes, requireNonNullAttributes, requireNonNullAttributes, requireNonNullAttributes, setAsString, setBadge, setBadge, setBadge2, setBadge3, setBadge4, setBOLoaderNoCascade, setBOLoaderNoCascade, setBot, setId, setId, setIgnoreModificationConstraints, setLazyData, setTempId, setTransientProperty, setTransientProperty, setTransientProperty, setTransientProperty, setTransientProperty, setTransientProperty, slim, slim, storeBLOB, storeBLOB, storeBLOB, storeBLOB, storeBLOB, stub, toMap, toMap, toMap, toMap, toMap, toMap, toMap, toMap, toMap, toMap, toMap, toMap, toRelationMapRO, toRelationMapRO, toRelationMapRO, toRelationMapRO, toRelationMapRO, toRelationMapRO, toRelationMapRO, toRelationMapRO, toString, undelete, verifyOnClient, verifyOnServer, wrapIfGroovygetCrea, getLdel, getLmod, isDeleted, isLdel, setCrea, setLdel, setLdel, setLmodgetInstanceSpecificLocale, getInstanceSpecificPaths, l10n, l10n, l10n, l10n, l10n, l10n, l10ncontains, filterDeleted, filterDeleted, filterDeleted, filterDeleted, filterDeletedAndReturnMap, filterDeletedAndReturnMap, getAttribute, getAttribute, getCrea, getEntity, getEntity, isDeleted, isSubEntityOf, isSubEntityOf, toRelationMapROcollectIds, collectIds, getCommaSeparatedIdList, toMap, toMapcollectDescribe, collectDescribe, conciseDesc, conciseDesc, conciseDesc, conciseDesc, describe, describe, describeAndConciseDesc, describeAndConciseDesc, describeAndConciseDesc, describeAndConciseDesc, describeAndConciseDesc, describeNE, describeNE, join, join, join, notEmptyDescriptionpublic static final java.lang.String EV_NAME_CATCHALL
public static final java.lang.String EV_NAME_USE_LOCALES
public java.lang.Object catchallForTest
public static MyTISMBenachrichtigung of(Transaction tx, NotificationReceiverI receiver, MyTISMBenachrichtigungsAuftrag order)
@Deprecated public static MyTISMBenachrichtigung of(Transaction tx, MyTISMBenachrichtigung newInstance, NotificationReceiverI receiver, MyTISMBenachrichtigungsAuftrag order)
init() with an already included MyTISMBenachrichtigung instance of the right
subclass insteadMyTISMBenachrichtigung are created; this method can be used to
pass and init an instance of such a subclass.public ReceiverDeterminationResult determineReceiverToUse(Transaction tx) throws de.ipcon.db.core.ReceiverDeterminationException
ReceiverDeterminationResult if some receiver could be determined; but check
isUseableReceiver() to see if the determined receiver is actually a useable one or notReceiverDeterminationException - in case of unexpected errors during determination or if no info about a
possible receiver nor catchall is availablepublic ReceiverDeterminationResult getAdressenToNotify(NotificationReceiverI receiver, Transaction tx)
receiver - required, may be different from notification.Empfaenger if catchall has to be usedtx - FIXME required only for receiver.getAdressenInOrder(tx) callReceiverDeterminationResult instance with either the addresses to notify or the reason the
given receiver cannot be usedpublic NotificationReceiverI getCatchall(NotificationReceiverI receiver) throws java.lang.ClassCastException
NotificationReceiverI.java.lang.ClassCastExceptionpublic boolean permitsTypeOf(MyTISMAdresse address)
public java.lang.String getPermittedTypesAsString()
public MyTISMAdresse[] filterPermittedAddresses(MyTISMAdresse[] addresses)
public boolean hasOnlySomeAddressesMissingSendinginfo(Transaction tx) throws de.ipcon.db.core.ReceiverDeterminationException
Empfaenger) for which there are no sending logs yet; false if there are
either no sending logs at all or at least one for each addressde.ipcon.db.core.ReceiverDeterminationExceptionpublic java.util.Map<java.lang.Long,MyTISMAdresse> getAdressenOhneVersendungen()
getAdressenOhneVersendungen in class de.ipcon.db.core.MyTISMBenachrichtigungBasepublic java.util.Map<java.lang.Long,Benachrichtigungsversendung> getNeuesteVersendungProAdresse()
getNeuesteVersendungProAdresse in class de.ipcon.db.core.MyTISMBenachrichtigungBasepublic java.lang.Boolean getErfolgreichVersendet()
Benachrichtigungsversendung instances) are available.getErfolgreichVersendet in class de.ipcon.db.core.MyTISMBenachrichtigungBaseBoolean.TRUE if the notification can be considered as "fully handled"; Boolean.FALSE
if there is at least one address for which the most recent sending did fail; and null if the state cannot
be determined, for example because there is no sending info at all (should normally only happen if sending
has not been tried yet) or for one address the successful/failed state is not known (FIXME! TT 2024-11-04:
can this happen? BVs with Erfolgreich = null are not created; could old data exist with this?)public boolean wasSentOutSuccessfully(MyTISMAdresse ma)
true when this notification was sent out successfully for
the given MyTISMAdresse; returns false if there is no
Benachrichtigungsversendung with Erfolgreich = true for that address.public java.util.Date sendingFailedMostRecentlyOn()
public java.util.Date getLetzteVersendungOderSendeversuchAm()
getLetzteVersendungOderSendeversuchAm in class de.ipcon.db.core.MyTISMBenachrichtigungBasepublic java.util.Map<java.lang.Long,Benachrichtigungsversendung> getAktuellsteFehlgeschlageneVersendungen()
getAktuellsteFehlgeschlageneVersendungen in class de.ipcon.db.core.MyTISMBenachrichtigungBasepublic boolean hadTooManyRetries()
MyTISMBenachrichtigung was tried to
often. Standard is checking if the limit was reached for any of the
possibly multiple destination addresses, but may be limited to a specific
address.ma - if null (the default) the method returns true if too many
retries were done for at least one address; otherwise only returns
true when the retry limit was reached specifically for trying to send
out the notification for the given address FIXME! TT 2024-09-12: In practise this is always given, as there
is only one "actual" call of this method and that gives a value; the only calls that do not give a value are
in the testlimit - the (exclusive) upper limit that sending out is allowed to
be tried before "too many retries" is signalled; defaults to 96 which,
together with the 30 min InternalNotificationRetryWV.INAKTIVITAETSZEIT_IN_SECS,
should result in retries for approx. 2 dayspublic boolean hadTooManyRetries(MyTISMAdresse ma)
public boolean hadTooManyRetries(MyTISMAdresse ma, int limit)
public boolean shouldBeSentOut()
public boolean stillNeedsToBeSentOut()
public boolean isUserInvolved(Benutzer user)
user - the user for which to check involvementalsoCheckGroups - if true, an indirect involvement via groups is also checkedpublic boolean isUserInvolved(Benutzer user, boolean alsoCheckGroups)
public Formular getFormularFuerBenutzer(Benutzer ben)
public java.lang.String getInterpretedBetreff()
public java.lang.String getInterpretedText()
public L10nLocale determinePreferredLocale()
public java.util.Map<java.lang.String,java.lang.Object> getContextParameters()
getContextParameters in interface NotificationTemplateContextProviderIpublic static java.lang.String interpret(FormatterI _formatter, java.lang.String _template, java.util.Date _dateNow, java.util.Map<java.lang.String,java.lang.Object> _mapContext, java.lang.String _origin) throws de.ipcon.db.core.NotificationTemplateInterpretationException
GStringTemplate and return the resulting string.de.ipcon.db.core.NotificationTemplateInterpretationExceptionpublic static java.lang.String interpret(FormatterI _formatter, java.lang.String _template, java.util.Date _dateNow, java.util.Map<java.lang.String,java.lang.Object> _mapContext, java.lang.String _origin, L10nLocale _locale) throws de.ipcon.db.core.NotificationTemplateInterpretationException
de.ipcon.db.core.NotificationTemplateInterpretationExceptionpublic java.util.Date getDatum()
getDatum in class de.ipcon.db.core.MyTISMBenachrichtigungBasepublic java.lang.Integer getPrioritaet()
getPrioritaet in class de.ipcon.db.core.MyTISMBenachrichtigungBasepublic CoreBO getAbsender()
getAbsender in class de.ipcon.db.core.MyTISMBenachrichtigungBasepublic java.util.Map<java.lang.Long,MyTISMKontextBOEintrag> getKontextBOs()
public java.util.Map<java.lang.Long,MyTISMAnhangBOEintrag> getAnhangBOs()
getAnhangBOs in class de.ipcon.db.core.MyTISMBenachrichtigungBasepublic java.lang.Boolean getGelesen()
getGelesen in class de.ipcon.db.core.MyTISMBenachrichtigungBasepublic java.lang.Boolean getBeantwortet()
getBeantwortet in class de.ipcon.db.core.MyTISMBenachrichtigungBasepublic void addAntwort(MyTISMBenachrichtigungsAuftrag _ba)
addAntwort in class de.ipcon.db.core.MyTISMBenachrichtigungBasepublic void removeAntwort(MyTISMBenachrichtigungsAuftrag _ba)
removeAntwort in class de.ipcon.db.core.MyTISMBenachrichtigungBasepublic java.util.Date determineBeantwortetAm()
public boolean hasAntworten()
public java.lang.Integer getStufe()
getStufe in class de.ipcon.db.core.MyTISMBenachrichtigungBasepublic java.lang.Integer getThreadPosition()
getThreadPosition in class de.ipcon.db.core.MyTISMBenachrichtigungBasepublic L10nLocale getLocale()
getLocale in class de.ipcon.db.core.MyTISMBenachrichtigungBase@Deprecated public java.lang.String getEncoding()
public java.lang.Boolean getUseInlinePGP()
public ReceiverDeterminationResult getReceiverDeterminationResult()
public void setReceiverDeterminationResult(ReceiverDeterminationResult $45)
Copyright © 2000-2025 OAshi S.à r.l. All Rights Reserved.