Class PriceGrid

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

@Entity public class PriceGrid extends MatrixableCalculableObject implements TreeStructuredObject, UserGroupRestrictedObject, APIModifiable, NamedChangeTracker, JobSettingsProvider
  • 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
      Overrides:
      validate in class AbstractCalculable
      Parameters:
      validationVisitor - visitor object that receives validation error details
      objService - 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.PersistedObject
      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.
      Overrides:
      canEdit in class PersistedObject
      Parameters:
      user - that requests edit access
      validationVisitor - 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.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 edit-ability checks. Implemented as parameter to optimize performance (vs. new object creation)
    • 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
    • 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
      Parameters:
      values -
      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
    • 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