Class ManufacturingContext


  • public class ManufacturingContext
    extends Object
    Object to hold manufacturing related data
    Author:
    daivanov
    • Field Detail

      • pojos

        private Map<Class<?>,​Integer> pojos
        Map with production counts of objects per type, required for loop detection
      • typeArgsMap

        private Map<String,​Type> typeArgsMap
        Map relating the generic class arguments ("<T, V>" for example) with their actual types
      • backupTypeArgsMaps

        private Deque<Map<String,​Type>> backupTypeArgsMaps
        Constructors sorting order
    • Constructor Detail

      • ManufacturingContext

        public ManufacturingContext()
    • Method Detail

      • getConstructorOrdering

        public DataProviderStrategy.Order getConstructorOrdering()
        Getter for constructor ordering
        Returns:
        constructor ordering
      • setConstructorOrdering

        public void setConstructorOrdering​(DataProviderStrategy.Order constructorOrdering)
        Setter for constructor ordering
        Parameters:
        constructorOrdering - constructor ordering
      • getPojos

        public Map<Class<?>,​Integer> getPojos()
        Getter for map with production counts of objects per type
        Returns:
        map with production counts of objects per type
      • getTypeArgsMap

        public Map<String,​Type> getTypeArgsMap()
        Getter for map generic type mappings
        Returns:
        map relating the generic class arguments ("<T, V>" for example) with their actual types
      • setTypeArgsMap

        public void setTypeArgsMap​(Map<String,​Type> typeArgsMap)
        Setter for map generic type mappings
        Parameters:
        typeArgsMap - relating the generic class arguments ("<T, V>" for example) with their actual types
      • createEmptyTypeArgsMap

        public Map<String,​Type> createEmptyTypeArgsMap()
        Creates an empty typeArgsMap
        Returns:
        newly created map
      • cloneTypeArgsMap

        public Type[] cloneTypeArgsMap​(Class<?> pojoType,
                                       ParameterizedType parameterizedPojoType,
                                       Type[] genericTypeArgs)
        Clones and backups typeArgsMap and fills it with types for a new POJO
        Parameters:
        pojoType - class of a new POJO
        parameterizedPojoType - parameterized type of a new POJO
        genericTypeArgs - The generic type arguments for the current generic class instance
        Returns:
        The updated generic type arguments for the current generic class instance
      • backupTypeArgsMap

        public void backupTypeArgsMap​(Map<String,​Type> typeArgsMap)
        Backups typeArgsMap and replace it with a new one
        Parameters:
        typeArgsMap - relating the generic class arguments ("<T, V>" for example) with their actual types
      • restoreTypeArgsMap

        public Map<String,​Type> restoreTypeArgsMap()
        Restores typeArgsMap from backup
        Returns:
        previous map