### [% meta.class_name %]

[% IF meta.table_name %] table [% meta.table_name %] [% END %]
[% meta.module_path %]

[% PROCESS partials/class_inheritance_tree.html tree = class_inheritance_tree %]

#### Class Metadata

[% FOREACH prop IN [ 'doc', 'is_abstract', 'is_final', 'is_singleton', 'data_source', 'table_name' ] %]
[% prop %]
  [% IF meta.item(prop).defined %] [% meta.item(prop) %] [% ELSE %] undef [% END %]
[% END %]

#### Class Properties

Show inherited properties

Name | Type | Column | Class | Doc
--- | --- | --- | --- | ---
[% FOREACH prop_meta IN property_metas %] [% SET row_classes = [ ] %] [% IF prop_meta.class_name != meta.class_name %] [% row_classes.push('inherited') %] [% END %] [% IF prop_meta.is_id %] [% row_classes.push('success') %] [% END %]
[% prop_meta.property_name %] [% FOREACH prop IN ['data_type', 'column_name', 'class_name','doc' ] %] | [% IF (prop == 'class_name') && (prop_meta.class_name != meta.class_name) %] [% prop_meta.item(prop) %] [% ELSE %] [% prop_meta.item(prop) %] [% END %] [% END %]
[% END %]

[% PROCESS partials/class_method_table.html title = 'Public Methods', methods = public_methods %]
[% PROCESS partials/class_method_table.html title = 'Private Methods', methods = private_methods %]