File: model/core/physical.rb

Overview
Module Structure
Class Hierarchy
Code

Overview

Module Structure

  module: <Toplevel Module>
  module: TmDoc#11
  module: Model
  module: Core#13
  module: Physical#15
  module: Abstraction#17
  class: Source#19
  class: SetOfSource#23
inherits from
  SetOfPhysicalSubject ( TmDoc::Model::Abstraction::Subject )
has properties
constant: LSM_ELEMENT_CLASS #24
  class: File#31
inherits from
  Source ( TmDoc::Model::Core::Physical::Abstraction )
has properties
attribute: a_toplevel_module [R] #32
method: initialize / 3 #35
method: to_s #46
method: print / 1 #53
  class: SetOfFile#69
inherits from
  SetOfSource ( TmDoc::Model::Core::Physical::Abstraction )
has properties
constant: LSM_ELEMENT_CLASS #70

Code

   1  # $Id: physical.rb,v 1.1 2011/12/02 01:46:54 machan Exp $
   2 
   3  require 'stringio'
   4 
   5  require 'tmdoc/tmstd'
   6  require 'tmdoc/tmstd/treeable'
   7  require 'tmdoc/constant'
   8  require 'tmdoc/model/abstraction'
   9 
  10 
  11  module TmDoc
  12 
  13  module Model::Core
  14 
  15  module Physical
  16 
  17  module Abstraction
  18 
  19  class Source < Model::Abstraction::Subject::PhysicalSubject; end
  20 
  21 
  22 
  23  class SetOfSource < Model::Abstraction::Subject::SetOfPhysicalSubject
  24      LSM_ELEMENT_CLASS = Source
  25  end
  26 
  27  end # TmDoc::Model::Core::Physical::Abstraction
  28 
  29 
  30 
  31  class File < Abstraction::Source
  32      attr_reader :a_toplevel_module
  33 
  34 
  35      def initialize(name, seq_num, a_toplevel_module)
  36          ASSERT.kind_of name,                String
  37          ASSERT.kind_of seq_num,             Integer
  38          ASSERT.kind_of a_toplevel_module,   MCLN::ToplevelModule
  39 
  40          super(name, seq_num)
  41 
  42          @a_toplevel_module = a_toplevel_module
  43      end
  44 
  45 
  46      def to_s
  47          str = super('file')
  48 
  49          ASSERT.kind_of str, String
  50      end
  51 
  52 
  53      def print(indent)
  54          ASSERT.kind_of indent,  Integer
  55 
  56          super(indent)
  57 
  58          str_io = StringIO.new
  59          self.a_toplevel_module.print_tree str_io
  60          LOG::Debug.log str_io.string
  61          LOG::Debug.log
  62 
  63          nil
  64      end
  65  end
  66 
  67 
  68 
  69  class SetOfFile < Abstraction::SetOfSource
  70      LSM_ELEMENT_CLASS = File
  71  end
  72 
  73  end # TmDoc::Model::Core::Physical
  74 
  75  end # TmDoc::Model::Core
  76 
  77  end # TmDoc