Class ValueTableDynamicContextDefProvider

    • Constructor Detail

      • ValueTableDynamicContextDefProvider

        public ValueTableDynamicContextDefProvider()
    • Method Detail

      • getColumnCollectionType

        public static TypeContainer getColumnCollectionType​(Type type)
        Gets TypeContainer in type property with name "Columns"
        Parameters:
        type - Type for getting property with concrete name "Columns", cannot be null
        Returns:
        TypeContainer in type property with name "Columns" or null if property was not found
      • computeDynamicType

        public Type computeDynamicType​(org.eclipse.emf.ecore.EObject semanticObject,
                                       Type computeType,
                                       Environments envs)
        Description copied from interface: IDynamicContextDefProvider
        Computes Type corresponding to semanticObject. This type has expanding ContextDef vs computeType getting from TypesComputer
        Specified by:
        computeDynamicType in interface IDynamicContextDefProvider
        Parameters:
        semanticObject - model object from Bsl Model, can't be null. semanticObject instanceof OperatorStyleCreator or FunctionStyleCreator only.
        computeType - Type returning by semanticObject, can be null in case semanticObject doesn't return any Type. Returning type computes by TypesComputer
        envs - actual Environments corresponding to semanticObject in Bsl module, can't be null
        Returns:
        Type corresponding to semanticObject. This type has expanding ContextDef of computeType. Returning type must be identity equals given computeType if and only if computeType != null. In case when computeType == null returning type can be null or can have any type value.
      • computeDerivedValueTableType

        public Type computeDerivedValueTableType​(org.eclipse.emf.ecore.EObject context,
                                                 Type computeType)
        Creates derived type of ValueTable for adding derived columns
        Parameters:
        context - actual context for resolving objects, can't be null
        computeType - clone of the type ValueTable for modification, can't be null
        Returns:
        created derived type, never null