Sha256: a410ff527c07b39515995c3fbe020d3bb78f2d2ee81a69abfadc34dfa4b3eae0

Contents?: true

Size: 1.65 KB

Versions: 1

Compression:

Stored size: 1.65 KB

Contents

module Sbuilder

  class Parameter_Dom < Parameter

    attr_reader  :domain                      # name resolved
    attr_reader  :resolvedDomain              # pointer to Domain-object

    # ------------------------------------------------------------------
    # mixer
    PROGNAME = "ParameterDom"                 # progname for logger
    include Sbuilder::Utils::MyLogger         # mix logger

    
    # ------------------------------------------------------------------
    # constrcutore
    def initialize( options = {} )
      super( options )
      @logger = getLogger( PROGNAME, options )
      @logger.info( "#{__method__} initialized" )
    end

    def self.create( name, domain )
      p = Parameter_Dom.new
      p.setName( name )
      p.setDomain( domain )
    end

    def to_s
      "#{PROGNAME}: name: '#{getName}', domain='#{ domain }'"
    end

    # ------------------------------------------------------------------
    # build domain

    def setDomain( domain )
      @domain = domain
      self
    end

    # ------------------------------------------------------------------
    # resolve
    def resolveDomain( model )
      # access domain(name) from model, exception if not found
      @resolvedDomain = model.getDomain( domain )
    end
    

    # ------------------------------------------------------------------
    # build model
    
    def doGetType
      domain
    end

    def do_parameter_definition( model )
      {
        # :name => name,
        :type => domain,
        :namespace => Constants::TYPE_NAMESPACE_DOM,   # in TLA code prefix with 'd_',
        :composite_parameters => false,
      }
    end
    
    
    
    
  end
  
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
tla-sbuilder-0.1.0 lib/sbuilder/parameter_dom.rb