Class Order

java.lang.Object
  |
  +--swarm.BaseImpl
        |
        +--swarm.objectbase.SwarmObjectImpl
              |
              +--Order
All Implemented Interfaces:
java.lang.Cloneable, swarm.defobj.Create, swarm.defobj.CreateS, swarm.defobj.Customize, swarm.defobj.CustomizeS, swarm.defobj.DefinedObject, swarm.defobj.DefinedObjectS, swarm.defobj.Drop, swarm.defobj.DropS, swarm.defobj.GetName, swarm.defobj.GetNameS, swarm.objectbase.SwarmObject, swarm.objectbase.SwarmObjectS

public class Order
extends swarm.objectbase.SwarmObjectImpl
implements java.lang.Cloneable

The form containing our Order metaphoric object

Author:
Pietro Terna (with Paolo Pelligra and Dario Landini contibutions)

Field Summary
 ProcurementSpecificationSet aProcurementSpecificationSet
          a procurement specification set
 StandAloneBatchSpecificationSet aStandAloneBatchSpecificationSet
          a stand alone batch specification set
 float cumulatedFixedCost
          the fixed and variable costs of the order
 float cumulatedVariableCost
          the fixed and variable costs of the order
 swarm.collections.ListImpl endUnitList
          the end unit list
 int multiplicity
          multiplicity factor, usually = 1; > 1 in stand alone batch productions
 int numberOfTheStepForWhichANewsIsSent
          the sequential number of the recipe referring to which a news will be sent
 int orderNumber
          the number of this order
 int[] orderRecipe
          integer vector, containing the recipe steps
 int[] orderRecipeTmp
          a temporary vector to redefine the dimension of orderRecipe if necessary (using "p" or "c" or "||" or "&&" steps)
 int[] orderState
          integer vector, recording the performed phases
 float orderTotalCosts
          the sum of variable and fixed costs of the order
 swarm.collections.ListImpl procuredItemList
          the list of procured items
 swarm.collections.ListImpl procurementSpecificationSetList
          the list of procurement specifications
 java.lang.String recipeName
          the 'name' of the recipe (may be used by OrderDistiller, as a way to identify recipes
 swarm.collections.ListImpl standAloneBatchSpecificationSetList
          the list of stand alone batch specifications
 int startingTimeUnit
          the day in which the order as been generated
 int stepNumber
          the number of steps in the product recipe
 
Constructor Summary
Order(swarm.defobj.Zone aZone, int originalOrderRecipeLength, int[] originalOrderRecipe, int originalOrderStateLength, int[] originalOrderState, VEFrameModelSwarm model, swarm.collections.ListImpl originalProcurementSpecificationSetList, swarm.collections.ListImpl originalProcuredItemList, swarm.collections.ListImpl originalStandAloneBatchSpecificationSetList)
          the second constructor for Order, to clone an order
the cloning operation anyway is only partial
Order(swarm.defobj.Zone aZone, int n, int sd, int sn, int[] r, VEFrameModelSwarm model, swarm.collections.ListImpl eul)
          the first constructor for Order, for original object creation
 
Method Summary
 boolean checkIfNextStepUsesAProcurementSpecificationSet()
          check if next step in Order uses a procurement specificaion set
 boolean checkIfNextStepUsesAStandAloneBatchSpecificationSet()
          check if next step in Order uses a stand alone batch specificaion set
 swarm.Selector checkMethod(java.lang.Object obj, java.lang.String method)
           
 java.lang.Object clone()
          Cloneable interface method: clone()
 void drop()
          drop the order
 int getHowManyStepsToBeDone()
          returning how many steps remain to terminate the production
 int getMultiplicity()
          get multiplicity factor
 int getNextStep()
          production next step in Order (it is in the orderRecipe vector, at the same index value in which we find the first 0 in orderState vector)
 int getNumberOfTheStepForWhichANewsIsSent()
          returning the sequential number of the recipe referring to which a news will be sent
 float getOrderEvaluation()
          returning the value of the production already done
 int getOrderNumber()
          returning the orderNumber of this order
 int getOrderRecipe(int i)
          getting the content of orderRecipe[i]
 float getOrderTotalCosts()
          getting the total of costs of the order
 java.lang.Object getPendingProcurementSpecificationSet()
          getting the procurement specification set related to the nextStep (the current one, if the order is in a waiting list for next step to be accomplished
if no procurement specification set exists for the next step, a null value is returned
 java.lang.Object getPendingStandAloneBatchSpecificationSet()
          getting the stand alone batch specification set related to the nextStep (the current one, if the order is in a waiting list for next step to be accomplished
if no stand alone batch SpecificationSet exists for the next step, a null value is returned
 int getProductionToBeDoneAtStepAheadNumber(int sn)
          returning the production phase at a specific step
 java.lang.String getRecipeName()
          retrieving the name of the recipe
 int getStartingTimeUnit()
          returning the startingTimeUnit
 int getStepNumber()
          returning the stepNumber
 void setDoneStep()
          Done step in Order
 void setFixedAndVariableOrderCosts(float fc, float vc)
          setting fixed and variable costs for the orders in production or finished
 void setMultiplicity(int m)
          set multiplicity factor
 void setProcuredItemList(Order o)
          adding an item to the procuredItemList
 void setRecipeName(java.lang.String s)
          settinging the name of the recipe
 
Methods inherited from class swarm.objectbase.SwarmObjectImpl
compare, describe, describeID, getCompleteProbeMap, getDisplayName, getName, getProbeForMessage, getProbeForVariable, getProbeMap, getTypeName, getZone, perform, perform$with, perform$with$with, perform$with$with$with, respondsTo, setDisplayName, xfprint, xfprintid, xprint, xprintid
 
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

stepNumber

public int stepNumber
the number of steps in the product recipe

recipeName

public java.lang.String recipeName
the 'name' of the recipe (may be used by OrderDistiller, as a way to identify recipes

orderNumber

public int orderNumber
the number of this order

multiplicity

public int multiplicity
multiplicity factor, usually = 1; > 1 in stand alone batch productions

startingTimeUnit

public int startingTimeUnit
the day in which the order as been generated

orderRecipe

public int[] orderRecipe
integer vector, containing the recipe steps

orderRecipeTmp

public int[] orderRecipeTmp
a temporary vector to redefine the dimension of orderRecipe if necessary (using "p" or "c" or "||" or "&&" steps)

orderState

public int[] orderState
integer vector, recording the performed phases

numberOfTheStepForWhichANewsIsSent

public int numberOfTheStepForWhichANewsIsSent
the sequential number of the recipe referring to which a news will be sent

cumulatedFixedCost

public float cumulatedFixedCost
the fixed and variable costs of the order

cumulatedVariableCost

public float cumulatedVariableCost
the fixed and variable costs of the order

orderTotalCosts

public float orderTotalCosts
the sum of variable and fixed costs of the order

aProcurementSpecificationSet

public ProcurementSpecificationSet aProcurementSpecificationSet
a procurement specification set

procurementSpecificationSetList

public swarm.collections.ListImpl procurementSpecificationSetList
the list of procurement specifications

aStandAloneBatchSpecificationSet

public StandAloneBatchSpecificationSet aStandAloneBatchSpecificationSet
a stand alone batch specification set

standAloneBatchSpecificationSetList

public swarm.collections.ListImpl standAloneBatchSpecificationSetList
the list of stand alone batch specifications

procuredItemList

public swarm.collections.ListImpl procuredItemList
the list of procured items

endUnitList

public swarm.collections.ListImpl endUnitList
the end unit list
Constructor Detail

Order

public Order(swarm.defobj.Zone aZone,
             int n,
             int sd,
             int sn,
             int[] r,
             VEFrameModelSwarm model,
             swarm.collections.ListImpl eul)
the first constructor for Order, for original object creation

Order

public Order(swarm.defobj.Zone aZone,
             int originalOrderRecipeLength,
             int[] originalOrderRecipe,
             int originalOrderStateLength,
             int[] originalOrderState,
             VEFrameModelSwarm model,
             swarm.collections.ListImpl originalProcurementSpecificationSetList,
             swarm.collections.ListImpl originalProcuredItemList,
             swarm.collections.ListImpl originalStandAloneBatchSpecificationSetList)
the second constructor for Order, to clone an order
the cloning operation anyway is only partial
Method Detail

getNextStep

public int getNextStep()
production next step in Order (it is in the orderRecipe vector, at the same index value in which we find the first 0 in orderState vector)

checkIfNextStepUsesAProcurementSpecificationSet

public boolean checkIfNextStepUsesAProcurementSpecificationSet()
check if next step in Order uses a procurement specificaion set

checkIfNextStepUsesAStandAloneBatchSpecificationSet

public boolean checkIfNextStepUsesAStandAloneBatchSpecificationSet()
check if next step in Order uses a stand alone batch specificaion set

setDoneStep

public void setDoneStep()
Done step in Order

getOrderNumber

public int getOrderNumber()
returning the orderNumber of this order

getStepNumber

public int getStepNumber()
returning the stepNumber

getStartingTimeUnit

public int getStartingTimeUnit()
returning the startingTimeUnit

getHowManyStepsToBeDone

public int getHowManyStepsToBeDone()
returning how many steps remain to terminate the production

getProductionToBeDoneAtStepAheadNumber

public int getProductionToBeDoneAtStepAheadNumber(int sn)
returning the production phase at a specific step

getNumberOfTheStepForWhichANewsIsSent

public int getNumberOfTheStepForWhichANewsIsSent()
returning the sequential number of the recipe referring to which a news will be sent

getOrderEvaluation

public float getOrderEvaluation()
returning the value of the production already done

setFixedAndVariableOrderCosts

public void setFixedAndVariableOrderCosts(float fc,
                                          float vc)
setting fixed and variable costs for the orders in production or finished

getOrderTotalCosts

public float getOrderTotalCosts()
getting the total of costs of the order

getOrderRecipe

public int getOrderRecipe(int i)
getting the content of orderRecipe[i]

getPendingProcurementSpecificationSet

public java.lang.Object getPendingProcurementSpecificationSet()
getting the procurement specification set related to the nextStep (the current one, if the order is in a waiting list for next step to be accomplished
if no procurement specification set exists for the next step, a null value is returned

getPendingStandAloneBatchSpecificationSet

public java.lang.Object getPendingStandAloneBatchSpecificationSet()
getting the stand alone batch specification set related to the nextStep (the current one, if the order is in a waiting list for next step to be accomplished
if no stand alone batch SpecificationSet exists for the next step, a null value is returned

setProcuredItemList

public void setProcuredItemList(Order o)
adding an item to the procuredItemList

setMultiplicity

public void setMultiplicity(int m)
set multiplicity factor

getMultiplicity

public int getMultiplicity()
get multiplicity factor

drop

public void drop()
drop the order
Overrides:
drop in class swarm.objectbase.SwarmObjectImpl

checkMethod

public swarm.Selector checkMethod(java.lang.Object obj,
                                  java.lang.String method)

setRecipeName

public void setRecipeName(java.lang.String s)
settinging the name of the recipe

getRecipeName

public java.lang.String getRecipeName()
retrieving the name of the recipe

clone

public java.lang.Object clone()
Cloneable interface method: clone()
Overrides:
clone in class java.lang.Object