Package net.pricefx.domain
Class PriceGrid
Object
DomainObject
PersistedObject
PartitionedObject
AbstractCalculable
CalculableObject
MatrixableCalculableObject
PriceGrid
- All Implemented Interfaces:
APIModifiable,Calculable,HasCalculableObjectItems,JobNameProvider,JobSettingsProvider,NamedChangeTracker,Persistable,TreeStructuredObject,UserGroupRestrictedObject
@Entity
public class PriceGrid
extends MatrixableCalculableObject
implements TreeStructuredObject, UserGroupRestrictedObject, APIModifiable, NamedChangeTracker, JobSettingsProvider
-
Nested Class Summary
Nested classes/interfaces inherited from class MatrixableCalculableObject
MatrixableCalculableObject.ListTypeNested classes/interfaces inherited from class PersistedObject
PersistedObject.BatchDelete, PersistedObject.BulkloadFilterCheckCallback, PersistedObject.ComputedFieldMapping, PersistedObject.ComputedFields, PersistedObject.ImportManagerEnabled, PersistedObject.PersistedObjectMeta, PersistedObject.VirtualField, PersistedObject.VirtualFieldMapping, PersistedObject.VirtualFields, PersistedObject.VirtualSearchFields, PersistedObject.VirtualSortFields -
Field Summary
FieldsFields inherited from class AbstractCalculable
FIELD_CALCDATE, FIELD_CALCMESSAGES, FIELD_CALCSTARTDATE, FIELD_STATUS, MAX_CALCULATION_MESSAGE_THRESHOLDFields inherited from class PartitionedObject
FIELD_PARTITION, FIELD_PARTITIONID, PARTITION_FILTER_NAME, PARTITION_FILTER_PARAMFields inherited from class PersistedObject
FIELD_CREATEDATE, FIELD_CREATEDBY, FIELD_DELETEDATE, FIELD_DELETEDBY, FIELD_ID, FIELD_ISDELETED, FIELD_LASTUPDATEBY, FIELD_LASTUPDATEDATE, FIELD_VERSIONFields inherited from class DomainObject
DEFAULT_MAX_PACKET_SIZEFields inherited from interface UserGroupRestrictedObject
FIELD_USERGROUPEDIT, FIELD_USERGROUPVIEWDETAILS -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionbooleanOverride this method to restrict the possibility to delete an object of this type.booleancanEdit(User user, ValidationVisitor validationVisitor, PersistedObjectService objService, Map<String, Object> fieldsToEdit) Override this method to do edit-ability checks based on request details and object data (or related object data) and new data from request In case of a false return value a validation error should be added.booleanOverride to define if an object instance should be really deleted (vs just marked as deleted) Default: soft-deletegetAgentOption1(PersistedObjectService objService, JobStatusTracker jst, int runNumber) JobStatusTracker.TrackerTypegetEffectiveTargetDate(PersistedObjectService objService) Class<? extends ElementAttributeMeta> Class<? extends AbstractPriceGridItem> static Class<? extends AbstractPriceGridItem> getItemClassS(MatrixableCalculableObject.ListType type) static StringMatrixableCalculableObject.ListTypePriceGridConfigurationMatrixableCalculableObject.ListTypeintgetShotgunThreshold(PersistedObjectService objService, JobStatusTracker jst) booleanisMatrix()booleanvoiditemsStateChanged(PersistedObjectService objService) intjobSize(PersistedObjectService objectService, JobStatusTracker jst, int runNumber) booleanonPreProcessing(Map<String, Object> values, LocalDateTime targetDate) Invoked before processing starts.voidonSaveOrUpdate(PersistedObjectService objService) Default does nothing.voidsetApprovalState(ApprovalState approvalState) voidsetConfigurationString(String configuration) voidsetCreatedByName(String createdByName) voidsetDescription(String description) voidsetHeaderTypeUniqueName(String headerTypeUniqueName) voidsetIntegrationStatus(String integrationStatus) voidsetLastUpdateByName(String lastUpdateByName) voidvoidsetPartialCalculationDate(LocalDateTime lastPartialCalculation) voidsetPriceGridConfiguration(PriceGridConfiguration configuration) voidvoidsetPriceGridType(MatrixableCalculableObject.ListType priceGridType) voidsetRelativeTargetDateDays(Integer relativeTargetDateDays) voidsetUpdateDate(LocalDateTime updateDate) voidsetUpdatedBy(Long updateBy) voidsetUserGroupEdit(String userGroup) voidsetUserGroupViewDetails(String userGroup) voidupdateHeaderApprovalState(PersistedObjectService objService) int[]updatePriceGridNumbers(PersistedObjectService objService) booleanvalidate(ValidationVisitor validationVisitor, PersistedObjectService objService) Override to implement per-object validation rulesMethods inherited from class MatrixableCalculableObject
anyToRecalculationMethods inherited from class CalculableObject
getKeepManualOverrides, getNumberOfItems, getWriteOnlyChangedItems, setKeepManualOverrides, setNumberOfItems, setWriteOnlyChangedItemsMethods inherited from class AbstractCalculable
calculationDate, calculationStartDate, getCalculationConcurrencyKey, getCalculationDate, getCalculationMessages, getCalculationStartDate, getJobName, getLabel, getLocale, getStatus, getTargetDate, isAnonymousCalculable, setCalculationDate, setCalculationMessages, setCalculationMessages, setCalculationStartDate, setLabel, setLocale, setStatus, setTargetDateMethods inherited from class PartitionedObject
addUniqueConstraint, getLoginNameByUserId, getPartition, setPartition, toStringMethods inherited from class PersistedObject
auditOperation, bumpVersion, canAdd, canEdit, canRead, createDate, entityIsSafeInserted, entityIsSafeInserted, getBulkloadMap, getBusinessKey, getCreateDate, getCreatedBy, getDbColumnNameForField, getDeleteDate, getDeletedBy, getId, getLastUpdateBy, getLastUpdateDate, getSensitiveFields, getSignificantFields, getTypeCode, getTypedId, getVersion, getVirtualSearchFieldMappings, getVirtualSortFieldMappings, isAudited, isDeleted, isVirtualSearchField, lastUpdateDate, notifyOnBusinessKeyChange, onBusinessKeyChange, onDelete, onRefreshed, onSavedOrUpdated, setCreateDate, setCreateDateShouldBeIgnored, setCreateDateTime, setCreatedBy, setDeleted, setDeleteDate, setDeletedBy, setId, setLastUpdateBy, setLastUpdateDate, setLastUpdateDateTime, setTypedId, setVersion, userGroupEditBulkloadFilter, userGroupEditBulkloadFilterMethods inherited from class DomainObject
deepCopy, getNewMidnightDate, getNewMidnightDateTime, isMidnight, isMidnight, jsonDeserialize, jsonDeserialize, jsonDeserialize, jsonDeserialize, jsonDeserialize, jsonDeserialize, jsonDeserialize, jsonDeserialize, jsonDeserialize, jsonDeserialize, jsonDeserialize, jsonDeserialize, jsonSerialize, jsonSerialize, jsonSerialize, jsonSerialize, jsonSerialize, jsonSerialize, jsonSerializedSizeOK, jsonSerializeToBytes, jsonSerializeToBytes, setToDayEnd, setToDayEnd, setToMidnight, setToMidnight, setToMidnightAsLocalDateTime, toPropertyMap, truncatedToStringMethods inherited from class Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitMethods inherited from interface NamedChangeTracker
contextCurrentUser, getCreatedBy, setCreatedAndLastUpdated, setLastUpdateByMethods inherited from interface Persistable
getCreateDate, getCreatedBy, getDeleteDate, getDeletedBy, getId, getLastUpdateBy, getLastUpdateDate, getTypeCode, getTypedId, getVersion, isDeleted, setCreateDate, setCreatedBy, setDeleted, setDeleteDate, setDeletedBy, setId, setLastUpdateBy, setLastUpdateDate, setVersion
-
Field Details
-
TYPE_CODE
- See Also:
-
-
Constructor Details
-
PriceGrid
public PriceGrid()
-
-
Method Details
-
getConfiguration
-
setPriceGridConfiguration
public void setPriceGridConfiguration(PriceGridConfiguration configuration) -
setConfigurationString
-
getPriceGridConfiguration
public PriceGridConfiguration getPriceGridConfiguration() -
getDescription
-
setDescription
-
getUpdatedBy
-
getUpdateDate
-
setUpdateDate
-
setUpdatedBy
-
getPriceGridId
-
setPriceGridIdShouldBeIgnored
-
getNodeId
- Specified by:
getNodeIdin interfaceTreeStructuredObject
-
setNodeId
- Specified by:
setNodeIdin interfaceTreeStructuredObject
-
getApprovalState
-
setApprovalState
-
getUserGroupEdit
- Specified by:
getUserGroupEditin interfaceUserGroupRestrictedObject
-
setUserGroupEdit
- Specified by:
setUserGroupEditin interfaceUserGroupRestrictedObject
-
getUserGroupViewDetails
- Specified by:
getUserGroupViewDetailsin interfaceUserGroupRestrictedObject
-
setUserGroupViewDetails
- Specified by:
setUserGroupViewDetailsin interfaceUserGroupRestrictedObject
-
getRelativeTargetDateDays
-
setRelativeTargetDateDays
-
getNumberOfApprovedItems
-
getNumberOfOpenItems
-
getNumberOfDeniedItems
-
getNumberOfAutoApprovedItems
-
getNumberOfSubmittedItems
-
getPartialCalculationDate
-
setPartialCalculationDate
-
getIntegrationStatus
-
setIntegrationStatus
-
partialCalculationDate
-
getEffectiveTargetDate
- Overrides:
getEffectiveTargetDatein classCalculableObject
-
getPriceGridType
public MatrixableCalculableObject.ListType getPriceGridType() -
getListType
public MatrixableCalculableObject.ListType getListType()- Overrides:
getListTypein classMatrixableCalculableObject
-
setPriceGridType
public void setPriceGridType(MatrixableCalculableObject.ListType priceGridType) -
validate
public boolean validate(ValidationVisitor validationVisitor, PersistedObjectService objService) Description copied from class:net.pricefx.domain.PersistedObjectOverride to implement per-object validation rules- Specified by:
validatein interfacePersistable- Overrides:
validatein classAbstractCalculable- Parameters:
validationVisitor- visitor object that receives validation error detailsobjService- PersistedObjectService instance. May be null, so be cautious when requiring it
-
canEdit
public boolean canEdit(User user, ValidationVisitor validationVisitor, PersistedObjectService objService, Map<String, Object> fieldsToEdit) Description copied from class:net.pricefx.domain.PersistedObjectOverride this method to do edit-ability checks based on request details and object data (or related object data) and new data from request In case of a false return value a validation error should be added.- Overrides:
canEditin classPersistedObject- Parameters:
user- that requests edit accessvalidationVisitor- receives any "not allowed messages"objService- needed for cross object edit-ability checks. Implemented as parameter to optimize performance (vs. new object creation)fieldsToEdit- fields and their values that are about to be modified. To implement more fine-grained edit-ability checks (like e.g. allow tree repositioning while the object is otherwise locked)- Returns:
- true if edit is allowed, false otherwise
-
canDelete
public boolean canDelete(User user, ValidationVisitor validationVisitor, PersistedObjectService objService) Description copied from class:net.pricefx.domain.PersistedObjectOverride this method to restrict the possibility to delete an object of this type.Default: true
- Overrides:
canDeletein classPersistedObject- Parameters:
user- that requests delete accessvalidationVisitor- receives any "not allowed messages"objService- needed for cross object edit-ability checks. Implemented as parameter to optimize performance (vs. new object creation)
-
getItemClass
- Specified by:
getItemClassin interfaceHasCalculableObjectItems
-
getItemClassS
public static Class<? extends AbstractPriceGridItem> getItemClassS(MatrixableCalculableObject.ListType type) -
getItemListFilterField
- Specified by:
getItemListFilterFieldin interfaceHasCalculableObjectItems
-
getItemListFilterFieldS
-
isMatrix
public boolean isMatrix()- Overrides:
isMatrixin classMatrixableCalculableObject
-
getItemAttributeMetaClass
- Specified by:
getItemAttributeMetaClassin interfaceHasCalculableObjectItems
-
updatePriceGridNumbers
public int[] updatePriceGridNumbers(PersistedObjectService objService) -
updateHeaderApprovalState
public void updateHeaderApprovalState(PersistedObjectService objService) -
getDefaultTrackerType
public JobStatusTracker.TrackerType getDefaultTrackerType()- Specified by:
getDefaultTrackerTypein classAbstractCalculable
-
itemsStateChanged
public void itemsStateChanged(PersistedObjectService objService) - Overrides:
itemsStateChangedin classCalculableObject
-
doHardDelete
public boolean doHardDelete()Description copied from class:net.pricefx.domain.PersistedObjectOverride to define if an object instance should be really deleted (vs just marked as deleted) Default: soft-delete- Specified by:
doHardDeletein interfacePersistable- Overrides:
doHardDeletein classAbstractCalculable
-
getHeaderTypeUniqueName
-
setHeaderTypeUniqueName
-
onSaveOrUpdate
public void onSaveOrUpdate(PersistedObjectService objService) Description copied from class:net.pricefx.domain.PersistedObjectDefault does nothing. Method is called when object is about to be saved or updated Override point- Overrides:
onSaveOrUpdatein classPersistedObject
-
onPreProcessing
Description copied from interface:net.pricefx.domain.APIModifiableInvoked before processing starts. Good point to normalize the structure. For instance lookup LookupTable and set it into the values.- Specified by:
onPreProcessingin interfaceAPIModifiable- Parameters:
values-- Returns:
- false when processing should be stopped
-
getCreatedByName
- Specified by:
getCreatedByNamein interfaceNamedChangeTracker
-
setCreatedByName
- Specified by:
setCreatedByNamein interfaceNamedChangeTracker
-
getLastUpdateByName
-
setLastUpdateByName
- Specified by:
setLastUpdateByNamein interfaceNamedChangeTracker
-
getJobType
- Specified by:
getJobTypein interfaceJobSettingsProvider
-
isShotgunEnabled
public boolean isShotgunEnabled()- Specified by:
isShotgunEnabledin interfaceJobSettingsProvider
-
getShotgunThreshold
public int getShotgunThreshold(PersistedObjectService objService, JobStatusTracker jst) - Specified by:
getShotgunThresholdin interfaceJobSettingsProvider
-
jobSize
public int jobSize(PersistedObjectService objectService, JobStatusTracker jst, int runNumber) - Specified by:
jobSizein interfaceJobSettingsProvider
-
getAgentOption1
public Object getAgentOption1(PersistedObjectService objService, JobStatusTracker jst, int runNumber) - Specified by:
getAgentOption1in interfaceJobSettingsProvider
-