File: model/module/physical.rb

Overview
Module Structure
Class Hierarchy
Code

Overview

Module Structure

  module: <Toplevel Module>
  module: TmDoc#9
  module: Model
  module: Module
  module: Physical#11
  module: Abstraction#13
  class: Source#15
  class: SetOfSource#19
inherits from
  SetOfPhysicalSubject ( TmDoc::Model::Abstraction::Subject )
has properties
constant: LSM_ELEMENT_CLASS #20
  class: File#27
inherits from
  Source ( TmDoc::Model::Module::Physical::Abstraction )
has properties
attribute: require_files [R] #28
method: initialize / 3 #31
method: to_s #42
method: print / 1 #49
  class: SetOfFile#70
inherits from
  SetOfSource ( TmDoc::Model::Module::Physical::Abstraction )
has properties
constant: LSM_ELEMENT_CLASS #71
  class: RequireFile#76
inherits from
  Source ( TmDoc::Model::Module::Physical::Abstraction )
has properties
method: to_s #77
  class: SetOfRequireFile#86
includes
  Mutable ( TmStd::Lsm::Collection::Set )
inherits from
  SetOfSource ( TmDoc::Model::Module::Physical::Abstraction )
has properties
constant: LSM_ELEMENT_CLASS #89

Code

   1  # $Id: physical.rb,v 1.3 2011/11/30 19:26:34 machan Exp $
   2 
   3  require 'tmdoc/tmstd'
   4  require 'tmdoc/tmstd/treeable'
   5  require 'tmdoc/constant'
   6  require 'tmdoc/model/abstraction'
   7 
   8 
   9  module TmDoc
  10 
  11  module Model::Module::Physical
  12 
  13  module Abstraction
  14 
  15  class Source < Model::Abstraction::Subject::PhysicalSubject; end
  16 
  17 
  18 
  19  class SetOfSource < Model::Abstraction::Subject::SetOfPhysicalSubject
  20      LSM_ELEMENT_CLASS = Source
  21  end
  22 
  23  end # TmDoc::Model::Module::Physical::Abstraction
  24 
  25 
  26 
  27  class File < Abstraction::Source
  28      attr_reader :require_files
  29 
  30 
  31      def initialize(name, seq_num, require_file_names = [])
  32          ASSERT.kind_of name,                String
  33          ASSERT.kind_of seq_num,             Integer
  34          ASSERT.kind_of require_file_names,  Array
  35 
  36          super(name, seq_num)
  37 
  38          @require_files = SetOfRequireFile.new require_file_names
  39      end
  40 
  41 
  42      def to_s
  43          str = super('file')
  44 
  45          ASSERT.kind_of str, String
  46      end
  47 
  48 
  49      def print(indent)
  50          ASSERT.kind_of indent,  Integer
  51 
  52          super(indent)
  53 
  54          is  = "\t" * indent
  55          is1 = "\t" * (indent + 1)
  56 
  57          unless self.require_files.empty?
  58              LOG::Debug.log "%srequire_files:", is
  59              for require_file in self.require_files.sort
  60                  LOG::Debug.log "%s%s", is1, require_file.to_s
  61              end
  62          end
  63 
  64          nil
  65      end
  66  end
  67 
  68 
  69 
  70  class SetOfFile < Abstraction::SetOfSource
  71      LSM_ELEMENT_CLASS = File
  72  end
  73 
  74 
  75 
  76  class RequireFile < Abstraction::Source
  77      def to_s
  78          str = super('require file')
  79 
  80          ASSERT.kind_of str, String
  81      end
  82  end
  83 
  84 
  85 
  86  class SetOfRequireFile < Abstraction::SetOfSource
  87      include TmStd::Lsm::Collection::Set::Mutable
  88 
  89      LSM_ELEMENT_CLASS = RequireFile
  90  end
  91 
  92  end # TmDoc::Model::Module::Physical
  93 
  94  end # TmDoc