Class PriceGrid

Object
DomainObject
PersistedObject
PartitionedObject
AbstractCalculable
CalculableObject
MatrixableCalculableObject
PriceGrid
All Implemented Interfaces:
APIModifiable, Calculable, HasCalculableObjectItems, JobNameProvider, JobSettingsProvider, NamedChangeTracker, Persistable, TreeStructuredObject, UserGroupRestrictedObject, WithLastUpdateByName

@Entity public class PriceGrid extends MatrixableCalculableObject implements TreeStructuredObject, UserGroupRestrictedObject, APIModifiable, NamedChangeTracker, JobSettingsProvider
  • Nested Class Summary

    Nested classes/interfaces inherited from class MatrixableCalculableObject

    MatrixableCalculableObject.ListType

    Nested classes/interfaces inherited from class PersistedObject

    PersistedObject.BatchDelete, PersistedObject.BulkloadFilterCheckCallback, PersistedObject.ComputedFieldMapping, PersistedObject.ComputedFields, PersistedObject.PersistedObjectMeta, PersistedObject.VirtualField, PersistedObject.VirtualFieldMapping, PersistedObject.VirtualSearchFields, PersistedObject.VirtualSortFields
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    static final String
     

    Fields inherited from class AbstractCalculable

    FIELD_CALCDATE, FIELD_CALCMESSAGES, FIELD_CALCSTARTDATE, FIELD_STATUS, MAX_CALCULATION_MESSAGE_THRESHOLD

    Fields inherited from class PartitionedObject

    FIELD_PARTITION, FIELD_PARTITIONID

    Fields inherited from class PersistedObject

    FIELD_CREATEDATE, FIELD_CREATEDBY, FIELD_DELETEDATE, FIELD_DELETEDBY, FIELD_ID, FIELD_ISDELETED, FIELD_LASTUPDATEDATE

    Fields inherited from class DomainObject

    DEFAULT_MAX_PACKET_SIZE

    Fields inherited from interface UserGroupRestrictedObject

    FIELD_USERGROUPEDIT, FIELD_USERGROUPVIEWDETAILS
  • Constructor Summary

    Constructors
    Constructor
    Description
     
  • Method Summary

    Modifier and Type
    Method
    Description
    boolean
    canDelete(User user, ValidationVisitor validationVisitor, PersistedObjectService objService)
    Override this method to restrict the possibility to delete an object of this type.
    boolean
    canEdit(User user, ValidationVisitor validationVisitor, PersistedObjectService objService, Map<String,Object> fieldsToEdit)
    Override this method to do editability 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.
    boolean
    Override to define if an object instance should be really deleted (vs just marked as deleted) Default: soft-delete
    getAgentOption1(PersistedObjectService objService, JobStatusTracker jst, int runNumber)
     
     
     
     
    JobStatusTracker.TrackerType
     
     
    getEffectiveTargetDate(PersistedObjectService objService)
     
     
     
    Class<? extends ElementAttributeMeta>
     
    Class<? extends AbstractPriceGridItem>
     
    static Class<? extends AbstractPriceGridItem>
    getItemClassS(MatrixableCalculableObject.ListType type)
     
     
    static String
     
     
     
    MatrixableCalculableObject.ListType
     
     
     
     
     
     
     
     
    PriceGridConfiguration
     
     
    MatrixableCalculableObject.ListType
     
     
    int
    getShotgunThreshold(PersistedObjectService objService, JobStatusTracker jst)
     
     
     
     
     
    boolean
     
    boolean
     
    void
    itemsStateChanged(PersistedObjectService objService)
     
    int
    jobSize(PersistedObjectService objectService, JobStatusTracker jst, int runNumber)
     
    boolean
    Invoked before processing starts.
    void
    onSaveOrUpdate(PersistedObjectService objService)
    Default does nothing.
     
    void
     
    void
     
    void
    setCreatedByName(String createdByName)
     
    void
    setDescription(String description)
     
    void
    setHeaderTypeUniqueName(String headerTypeUniqueName)
     
    void
    setIntegrationStatus(String integrationStatus)
     
    void
    setLastUpdateByName(String lastUpdateByName)
     
    void
    setNodeId(Number nodeId)
     
    void
    setPartialCalculationDate(LocalDateTime lastPartialCalculation)
     
    void
    setPriceGridConfiguration(PriceGridConfiguration configuration)
     
    void
     
    void
    setPriceGridType(MatrixableCalculableObject.ListType priceGridType)
     
    void
    setRelativeTargetDateDays(Integer relativeTargetDateDays)
     
    void
     
    void
    setUpdatedBy(Long updateBy)
     
    void
     
    void
     
    void
    updateHeaderApprovalState(PersistedObjectService objService)
     
    int[]
    updatePriceGridNumbers(PersistedObjectService objService)
     
    boolean
    validate(ValidationVisitor validationVisitor, PersistedObjectService objService)
    Override to implement per-object validation rules

    Methods inherited from class MatrixableCalculableObject

    anyToRecalculation

    Methods inherited from class CalculableObject

    getKeepManualOverrides, getNumberOfItems, getWriteOnlyChangedItems, setKeepManualOverrides, setNumberOfItems, setWriteOnlyChangedItems

    Methods inherited from class AbstractCalculable

    calculationDate, calculationStartDate, getCalculationConcurrencyKey, getCalculationDate, getCalculationMessages, getCalculationStartDate, getJobName, getLabel, getLocale, getStatus, getTargetDate, setCalculationDate, setCalculationMessages, setCalculationMessages, setCalculationStartDate, setLabel, setLocale, setStatus, setTargetDate

    Methods inherited from class PartitionedObject

    addUniqueConstraint, getLoginNameByUserId, getPartition, setPartition, toString

    Methods inherited from class PersistedObject

    auditOperation, bumpVersion, canAdd, canEdit, canRead, createDate, findAnnotationRecursively, getBulkloadMap, getBusinessKey, getCreateDate, getCreatedBy, getDbColumnNameForField, getDefaultSortKey, getDeleteDate, getDeletedBy, getId, getLastUpdateBy, getLastUpdateDate, getSignificantFields, getTypeCode, getTypedId, getVersion, getVirtualFieldMappings, hasSafeInsertConfigured, isAudited, isDeleted, isVirtualField, lastUpdateDate, notifyOnBusinessKeyChange, onBusinessKeyChange, onDelete, onSavedOrUpdated, setCreateDate, setCreateDateShouldBeIgnored, setCreateDateTime, setCreatedBy, setDeleted, setDeleteDate, setDeletedBy, setId, setLastUpdateBy, setLastUpdateDate, setLastUpdateDateTime, setTypedId, setVersion, userGroupEditBulkloadFilter, userGroupEditBulkloadFilter

    Methods 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

    Methods inherited from class Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait

    Methods inherited from interface NamedChangeTracker

    getCreatedBy, setCreatedAndLastUpdated, setLastUpdateBy

    Methods inherited from interface Persistable

    getCreateDate, getCreatedBy, getDeleteDate, getDeletedBy, getId, getLastUpdateBy, getLastUpdateDate, getTypeCode, getTypedId, getVersion, hasSafeInsertConfigured, isDeleted, setCreateDate, setCreatedBy, setDeleted, setDeleteDate, setDeletedBy, setId, setLastUpdateBy, setLastUpdateDate, setVersion
  • Field Details

  • Constructor Details

    • PriceGrid

      public PriceGrid()
  • Method Details

    • getConfiguration

      public String getConfiguration()
    • setPriceGridConfiguration

      public void setPriceGridConfiguration(PriceGridConfiguration configuration)
    • setConfigurationString

      public void setConfigurationString(String configuration)
    • getPriceGridConfiguration

      public PriceGridConfiguration getPriceGridConfiguration()
    • getDescription

      public String getDescription()
    • setDescription

      public void setDescription(String description)
    • getUpdatedBy

      public Long getUpdatedBy()
    • getUpdateDate

      public LocalDateTime getUpdateDate()
    • setUpdateDate

      public void setUpdateDate(LocalDateTime updateDate)
    • setUpdatedBy

      public void setUpdatedBy(Long updateBy)
    • getPriceGridId

      public Long getPriceGridId()
    • setPriceGridIdShouldBeIgnored

      public void setPriceGridIdShouldBeIgnored(Long id)
    • getNodeId

      public Long getNodeId()
      Specified by:
      getNodeId in interface TreeStructuredObject
    • setNodeId

      public void setNodeId(Number nodeId)
      Specified by:
      setNodeId in interface TreeStructuredObject
    • getApprovalState

      public ApprovalState getApprovalState()
    • setApprovalState

      public void setApprovalState(ApprovalState approvalState)
    • getUserGroupEdit

      public String getUserGroupEdit()
      Specified by:
      getUserGroupEdit in interface UserGroupRestrictedObject
    • setUserGroupEdit

      public void setUserGroupEdit(String userGroup)
      Specified by:
      setUserGroupEdit in interface UserGroupRestrictedObject
    • getUserGroupViewDetails

      public String getUserGroupViewDetails()
      Specified by:
      getUserGroupViewDetails in interface UserGroupRestrictedObject
    • setUserGroupViewDetails

      public void setUserGroupViewDetails(String userGroup)
      Specified by:
      setUserGroupViewDetails in interface UserGroupRestrictedObject
    • getRelativeTargetDateDays

      public Integer getRelativeTargetDateDays()
    • setRelativeTargetDateDays

      public void setRelativeTargetDateDays(Integer relativeTargetDateDays)
    • getNumberOfApprovedItems

      public Integer getNumberOfApprovedItems()
    • getNumberOfOpenItems

      public Integer getNumberOfOpenItems()
    • getNumberOfDeniedItems

      public Integer getNumberOfDeniedItems()
    • getNumberOfAutoApprovedItems

      public Integer getNumberOfAutoApprovedItems()
    • getNumberOfSubmittedItems

      public Integer getNumberOfSubmittedItems()
    • getPartialCalculationDate

      public LocalDateTime getPartialCalculationDate()
    • setPartialCalculationDate

      public void setPartialCalculationDate(LocalDateTime lastPartialCalculation)
    • getIntegrationStatus

      public String getIntegrationStatus()
    • setIntegrationStatus

      public void setIntegrationStatus(String integrationStatus)
    • partialCalculationDate

      public String partialCalculationDate()
    • getEffectiveTargetDate

      public LocalDateTime getEffectiveTargetDate(PersistedObjectService objService)
      Overrides:
      getEffectiveTargetDate in class CalculableObject
    • getPriceGridType

      public MatrixableCalculableObject.ListType getPriceGridType()
    • getListType

      public MatrixableCalculableObject.ListType getListType()
      Overrides:
      getListType in class MatrixableCalculableObject
    • setPriceGridType

      public void setPriceGridType(MatrixableCalculableObject.ListType priceGridType)
    • validate

      public boolean validate(ValidationVisitor validationVisitor, PersistedObjectService objService)
      Description copied from class: net.pricefx.domain.PersistedObject
      Override to implement per-object validation rules
      Specified by:
      validate in interface Persistable
      Overrides:
      validate in class AbstractCalculable
      Parameters:
      validationVisitor - visitor object that receives validation error details
      objService - PersistedObjectService instance. May be null, so be cautios when requiring it
    • canEdit

      public boolean canEdit(User user, ValidationVisitor validationVisitor, PersistedObjectService objService, Map<String,Object> fieldsToEdit)
      Description copied from class: net.pricefx.domain.PersistedObject
      Override this method to do editability 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:
      canEdit in class PersistedObject
      Parameters:
      user - that requests edit access
      validationVisitor - receives any "not allowed messages"
      objService - needed for cross object editability 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 editability 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.PersistedObject
      Override this method to restrict the possibility to delete an object of this type. Default: true
      Overrides:
      canDelete in class PersistedObject
      Parameters:
      user - that requests delete access
      validationVisitor - receives any "not allowed messages"
      objService - needed for cross object editability checks. Implemented as parameter to optimize performance (vs. new object creation)
      Returns:
    • getItemClass

      public Class<? extends AbstractPriceGridItem> getItemClass()
      Specified by:
      getItemClass in interface HasCalculableObjectItems
    • getItemClassS

      public static Class<? extends AbstractPriceGridItem> getItemClassS(MatrixableCalculableObject.ListType type)
    • getItemListFilterField

      public String getItemListFilterField()
      Specified by:
      getItemListFilterField in interface HasCalculableObjectItems
    • getItemListFilterFieldS

      public static String getItemListFilterFieldS()
    • isMatrix

      public boolean isMatrix()
      Overrides:
      isMatrix in class MatrixableCalculableObject
    • getItemAttributeMetaClass

      public Class<? extends ElementAttributeMeta> getItemAttributeMetaClass()
      Specified by:
      getItemAttributeMetaClass in interface HasCalculableObjectItems
    • updatePriceGridNumbers

      public int[] updatePriceGridNumbers(PersistedObjectService objService)
    • updateHeaderApprovalState

      public void updateHeaderApprovalState(PersistedObjectService objService)
    • getDefaultTrackerType

      public JobStatusTracker.TrackerType getDefaultTrackerType()
      Specified by:
      getDefaultTrackerType in class AbstractCalculable
    • itemsStateChanged

      public void itemsStateChanged(PersistedObjectService objService)
      Overrides:
      itemsStateChanged in class CalculableObject
    • doHardDelete

      public boolean doHardDelete()
      Description copied from class: net.pricefx.domain.PersistedObject
      Override to define if an object instance should be really deleted (vs just marked as deleted) Default: soft-delete
      Specified by:
      doHardDelete in interface Persistable
      Overrides:
      doHardDelete in class AbstractCalculable
    • getHeaderTypeUniqueName

      public String getHeaderTypeUniqueName()
    • setHeaderTypeUniqueName

      public void setHeaderTypeUniqueName(String headerTypeUniqueName)
    • onSaveOrUpdate

      public void onSaveOrUpdate(PersistedObjectService objService)
      Description copied from class: net.pricefx.domain.PersistedObject
      Default does nothing. Method is called when object is about to be saved or updated Override point
      Overrides:
      onSaveOrUpdate in class PersistedObject
    • onPreProcessing

      public boolean onPreProcessing(Map<String,Object> values, LocalDateTime targetDate)
      Description copied from interface: net.pricefx.domain.APIModifiable
      Invoked before processing starts. Good point to normalize the structure. For instance lookup LookupTable and set it into the values.
      Specified by:
      onPreProcessing in interface APIModifiable
      Returns:
      false when processing should be stopped
    • getCreatedByName

      public String getCreatedByName()
      Specified by:
      getCreatedByName in interface NamedChangeTracker
    • setCreatedByName

      public void setCreatedByName(String createdByName)
      Specified by:
      setCreatedByName in interface NamedChangeTracker
    • getLastUpdateByName

      public String getLastUpdateByName()
    • setLastUpdateByName

      public void setLastUpdateByName(String lastUpdateByName)
      Specified by:
      setLastUpdateByName in interface NamedChangeTracker
      Specified by:
      setLastUpdateByName in interface WithLastUpdateByName
    • getJobType

      public String getJobType()
      Specified by:
      getJobType in interface JobSettingsProvider
    • isShotgunEnabled

      public boolean isShotgunEnabled()
      Specified by:
      isShotgunEnabled in interface JobSettingsProvider
    • getShotgunThreshold

      public int getShotgunThreshold(PersistedObjectService objService, JobStatusTracker jst)
      Specified by:
      getShotgunThreshold in interface JobSettingsProvider
    • jobSize

      public int jobSize(PersistedObjectService objectService, JobStatusTracker jst, int runNumber)
      Specified by:
      jobSize in interface JobSettingsProvider
    • getAgentOption1

      public Object getAgentOption1(PersistedObjectService objService, JobStatusTracker jst, int runNumber)
      Specified by:
      getAgentOption1 in interface JobSettingsProvider