## org.irisa.genouest.logol
Class LogolVariable

    java.lang.Object
      org.irisa.genouest.logol.LogolVariable

    public class LogolVariable

extends java.lang.Object

Field Summary
`static java.util.HashMap<VariableId,VariableId>` `constrainedVariables` Defines after pre-analyse, where a variable is defined compared to its used.
`java.lang.String` `content`
`int` `dataType`
`java.util.Vector<java.lang.String>` `externalIn`
`java.util.Vector<java.lang.String>` `externalOut`
`java.lang.String` `extra`
`java.lang.String` `fixedValue`
`int` `id`
`boolean` `isParent`
`static java.util.HashMap<java.lang.String,java.lang.Boolean>` `mainModels`
`static java.util.Vector<java.lang.String>` `matchedVariables`
`Model` `mod`
`java.lang.String` `model`
`Modifier` `modifier`
`java.lang.String` `name`
`boolean` `neg`
`static java.util.Vector<VariableId>` `overlappedVariables`
`static java.util.HashMap<VariableId,java.lang.String>` `paramVariables`
`java.lang.String` `parentId`
`static java.util.HashMap<VariableId,java.lang.String>` `parentVariables`
`static java.util.Vector<LogolVariable>` `postponedVariables`
`java.lang.String` `referenceID`
`java.lang.String` `referenceModel`
`java.lang.String` `repeatParam`
`java.lang.String` `repeatQuantity`
`int` `repeatType` Repeat type defines the test to apply between repeats 0 = undefined 1 = AND 2 = OVERLAP
`java.lang.String` `saveAs`
`java.util.Vector<StringConstraint>` `stringConstraints`
`java.util.Vector<StructConstraint>` `structConstraints`
`java.lang.String` `text`
`static java.util.Vector<VariableId>` `tmpVariables`
`int` `type` 0 = fixed 1 = variable 2 = group 3 = model
`static java.util.HashMap<VariableId,java.lang.String>` `userVariables`
`static java.util.HashMap<java.lang.String,LogolVariable>` `varData` Records all variable info for all models.
`static java.util.Vector<java.lang.Integer>` `variables`

Constructor Summary
`LogolVariable()`
`LogolVariable(java.lang.String mod, java.lang.String id, java.lang.String parentModel, java.lang.String parentName, Modifier modif)`
`LogolVariable(java.lang.String mod, java.lang.String id, java.lang.String parentModel, java.lang.String parentName, StringConstraint sc)`
`LogolVariable(java.lang.String mod, java.lang.String id, java.lang.String parentModel, java.lang.String parentName, StructConstraint sc)`

Method Summary
`LogolVariable` `copyInfo()` Copy input LogolVariable main attributes, without the constraints.
`void` `forcepostpone(StringConstraint sc)` Force a constraint to be postponed, no check
`void` `forcepostpone(StringConstraint sc, int type)` Force a constraint to be postponed, no check
`void` `forcepostpone(StructConstraint sc)` Force a constraint to be postponed, no check
`void` `forcepostpone(StructConstraint sc, int type)` Force a constraint to be postponed, no check
`static java.lang.String` `getModel(int id)`
`static java.lang.String` `getPostponedVariableList(java.lang.String model)` List all postponed data for the current model, including other models (with their own postponed data) called in current model
`StringConstraint` `getStringConstraint(int constraintType)`
`StructConstraint` `getStructConstraint(int constraintType)`
`boolean` `hasConstraint(int constraintType)`
`boolean` `hasPostponedConstraint(int constraintType)`
`boolean` `postpone(int constraintType, StringConstraint sc)` Checks if constraint treatment must be postponed according to previous analysis.
`boolean` `postpone(int constraintType, StructConstraint sc)` Checks if constraint treatment must be postponed according to previous analysis.
`boolean` `repeatPostpone()` Checks for the postpone of checks for repeat quantity
`static void` `reset()`

Methods inherited from class java.lang.Object
`equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Field Detail

### mainModels

    public static java.util.HashMap<java.lang.String,java.lang.Boolean> mainModels

### userVariables

    public static java.util.HashMap<VariableId,java.lang.String> userVariables

### paramVariables

    public static java.util.HashMap<VariableId,java.lang.String> paramVariables

### tmpVariables

    public static java.util.Vector<VariableId> tmpVariables

### parentVariables

    public static java.util.HashMap<VariableId,java.lang.String> parentVariables

### matchedVariables

    public static java.util.Vector<java.lang.String> matchedVariables

### postponedVariables

    public static java.util.Vector<LogolVariable> postponedVariables

### overlappedVariables

    public static java.util.Vector<VariableId> overlappedVariables

### constrainedVariables

    public static java.util.HashMap<VariableId,VariableId> constrainedVariables

  Defines after pre-analyse, where a variable is defined compared to its used. If not present, means that var is already defined when called

### variables

    public static java.util.Vector<java.lang.Integer> variables

### varData

    public static java.util.HashMap<java.lang.String,LogolVariable> varData

  Records all variable info for all models. Vector is filled in an analysis step, before treatment

### type

    public int type

  0 = fixed 1 = variable 2 = group 3 = model

### neg

    public boolean neg

### name

    public java.lang.String name

### id

    public int id

### fixedValue

    public java.lang.String fixedValue

### content

    public java.lang.String content

### saveAs

    public java.lang.String saveAs

### stringConstraints

    public java.util.Vector<StringConstraint> stringConstraints

### structConstraints

    public java.util.Vector<StructConstraint> structConstraints

### repeatQuantity

    public java.lang.String repeatQuantity

### repeatType

    public int repeatType

  Repeat type defines the test to apply between repeats 0 = undefined 1 = AND 2 = OVERLAP

### repeatParam

    public java.lang.String repeatParam

### extra

    public java.lang.String extra

### externalIn

    public java.util.Vector<java.lang.String> externalIn

### externalOut

    public java.util.Vector<java.lang.String> externalOut

### modifier

    public Modifier modifier

### parentId

    public java.lang.String parentId

### model

    public java.lang.String model

### text

    public java.lang.String text

### mod

    public Model mod

### referenceModel

    public java.lang.String referenceModel

### referenceID

    public java.lang.String referenceID

### isParent

    public boolean isParent

### dataType

    public int dataType

Constructor Detail

### LogolVariable

    public LogolVariable()

### LogolVariable

    public LogolVariable(java.lang.String mod,
                         java.lang.String id,
                         java.lang.String parentModel,
                         java.lang.String parentName,
                         StringConstraint sc)

### LogolVariable

    public LogolVariable(java.lang.String mod,
                         java.lang.String id,
                         java.lang.String parentModel,
                         java.lang.String parentName,
                         StructConstraint sc)

### LogolVariable

    public LogolVariable(java.lang.String mod,
                         java.lang.String id,
                         java.lang.String parentModel,
                         java.lang.String parentName,
                         Modifier modif)

Method Detail

### reset

    public static void reset()

### copyInfo

    public LogolVariable copyInfo()

  Copy input LogolVariable main attributes, without the constraints.

### hasConstraint

    public boolean hasConstraint(int constraintType)

### getStringConstraint

    public StringConstraint getStringConstraint(int constraintType)

### getStructConstraint

    public StructConstraint getStructConstraint(int constraintType)

### hasPostponedConstraint

    public boolean hasPostponedConstraint(int constraintType)

### postpone

    public boolean postpone(int constraintType,
                            StringConstraint sc)

  Checks if constraint treatment must be postponed according to previous analysis. If true, copy the variable and add it to postponedVariables.

  Parameters:
    `constraintType` - Type of the constraint
    `sc` - constraint to postponed
  Returns:
    true if must be postponed.

### postpone

    public boolean postpone(int constraintType,
                            StructConstraint sc)

  Checks if constraint treatment must be postponed according to previous analysis. If true, copy the variable and add it to postponedVariables.

  Parameters:
    `constraintType` - Type of the constraint
    `sc` - constraint to postponed
  Returns:
    true if must be postponed.

### repeatPostpone

    public boolean repeatPostpone()

  Checks for the postpone of checks for repeat quantity

### forcepostpone

    public void forcepostpone(StringConstraint sc,
                              int type)

  Force a constraint to be postponed, no check

  Parameters:
    `sc` - String constraint to be postponed
    `type` - Type of forcing constraint

### forcepostpone

    public void forcepostpone(StringConstraint sc)

  Force a constraint to be postponed, no check

  Parameters:
    `sc` - String constraint to be postponed

### forcepostpone

    public void forcepostpone(StructConstraint sc,
                              int type)

  Force a constraint to be postponed, no check

  Parameters:
    `sc` - Struct constraint to be postponed
    `type` - Type of forcing constraint

### forcepostpone

    public void forcepostpone(StructConstraint sc)

  Force a constraint to be postponed, no check

  Parameters:
    `sc` - Struct constraint to be postponed

### getPostponedVariableList

    public static java.lang.String getPostponedVariableList(java.lang.String model)

  List all postponed data for the current model, including other models (with their own postponed data) called in current model

  Parameters:
    `model` - current model name
  Returns:
    a List [ [A,B,C,D], [E,F,G,H],... ]

### getModel

    public static java.lang.String getModel(int id)