A group of modules in a package

Introduced properties

private var _default_mmodule: nullable MModule

nitc :: MGroup :: _default_mmodule

The default module of a group (if any, and if loaded)
private var _html_url: String

nitc :: MGroup :: _html_url

private var _in_nesting: POSetElement[MGroup]

nitc :: MGroup :: _in_nesting

The group is the group tree on the package (mpackage.mgroups)
private var _is_example: Bool

nitc :: MGroup :: _is_example

private var _is_test: Bool

nitc :: MGroup :: _is_test

private var _location: Location

nitc :: MGroup :: _location

private var _mmodules: Array[MModule]

nitc :: MGroup :: _mmodules

The loaded modules of this group
private var _mpackage: MPackage

nitc :: MGroup :: _mpackage

The enclosing package
private var _name: String

nitc :: MGroup :: _name

The name of the group
private var _parent: nullable MGroup

nitc :: MGroup :: _parent

The parent group if any
private var _scanned: Bool

nitc :: MGroup :: _scanned

Are files and directories in self scanned?
fun collect_all_mmodules(filter: nullable ModelFilter): HashSet[MModule]

nitc :: MGroup :: collect_all_mmodules

Collect all modules contained in self
fun collect_mgroups(filter: nullable ModelFilter): HashSet[MENTITY]

nitc :: MGroup :: collect_mgroups

Collect all groups contained in self
fun collect_mmodules(filter: nullable ModelFilter): HashSet[MModule]

nitc :: MGroup :: collect_mmodules

Collect all modules contained in self
fun default_mmodule: nullable MModule

nitc :: MGroup :: default_mmodule

The default module of a group (if any, and if loaded)
protected fun default_mmodule=(default_mmodule: nullable MModule)

nitc :: MGroup :: default_mmodule=

The default module of a group (if any, and if loaded)
init defaultinit(name: String, location: Location, mpackage: MPackage, parent: nullable MGroup)

nitc :: MGroup :: defaultinit

fun filepath: nullable String

nitc :: MGroup :: filepath

The filepath (usually a directory) of the group, if any
fun in_nesting: POSetElement[MGroup]

nitc :: MGroup :: in_nesting

The group is the group tree on the package (mpackage.mgroups)
protected fun in_nesting=(in_nesting: POSetElement[MGroup])

nitc :: MGroup :: in_nesting=

The group is the group tree on the package (mpackage.mgroups)
protected fun is_example=(is_example: Bool)

nitc :: MGroup :: is_example=

fun is_interesting: Bool

nitc :: MGroup :: is_interesting

Is the group interesting for a final user?
fun is_root: Bool

nitc :: MGroup :: is_root

Is self the root of its package?
protected fun location=(location: Location)

nitc :: MGroup :: location=

fun mmodules: Array[MModule]

nitc :: MGroup :: mmodules

The loaded modules of this group
protected fun mmodules=(mmodules: Array[MModule])

nitc :: MGroup :: mmodules=

The loaded modules of this group
fun mmodules_by_name(name: String): Array[MModule]

nitc :: MGroup :: mmodules_by_name

Return the modules in self and subgroups named name.
fun mpackage: MPackage

nitc :: MGroup :: mpackage

The enclosing package
protected fun mpackage=(mpackage: MPackage)

nitc :: MGroup :: mpackage=

The enclosing package
protected fun name=(name: String)

nitc :: MGroup :: name=

The name of the group
protected fun nitdoc_breadcrumbs=(nitdoc_breadcrumbs: Array[MEntity])

nitc :: MGroup :: nitdoc_breadcrumbs=

fun parent: nullable MGroup

nitc :: MGroup :: parent

The parent group if any
protected fun parent=(parent: nullable MGroup)

nitc :: MGroup :: parent=

The parent group if any
fun scanned: Bool

nitc :: MGroup :: scanned

Are files and directories in self scanned?
protected fun scanned=(scanned: Bool)

nitc :: MGroup :: scanned=

Are files and directories in self scanned?

Redefined properties

redef type SELF: MGroup

nitc $ MGroup :: SELF

Type of this instance, automatically specialized in every class
redef fun collect_children(mainmodule: MModule, filter: nullable ModelFilter): Set[MENTITY]

nitc :: model_collect $ MGroup :: collect_children

Collect all group that directly import self
redef fun collect_modifiers: Array[String]

nitc :: model_collect $ MGroup :: collect_modifiers

Collect modifier keywords like redef, private etc
redef fun collect_parents(mainmodule: MModule, filter: nullable ModelFilter): Set[MENTITY]

nitc :: model_collect $ MGroup :: collect_parents

Collect all groups directly import by self
redef fun examples: Array[MExample]

nitc :: model_examples $ MGroup :: examples

Examples found for self
redef fun full_name: String

nitc $ MGroup :: full_name

Fully qualified name.
redef fun html_icon: BSIcon

nitc :: html_model $ MGroup :: html_icon

An icon representative of the mentity
redef fun html_namespace: Template

nitc :: html_model $ MGroup :: html_namespace

Returns full_name decorated with HTML links
redef fun html_url: String

nitc :: static_html $ MGroup :: html_url

The MEntity URL in the HTML output
redef fun html_url=(html_url: String)

nitc :: static_html $ MGroup :: html_url=

The MEntity URL in the HTML output
redef init init

nitc $ MGroup :: init

redef fun is_example: Bool

nitc :: model_examples $ MGroup :: is_example

Is self existing for an example purpose?
redef fun is_test: Bool

nitc :: model $ MGroup :: is_test

Is self created for unit testing purpose?
redef fun is_test=(is_test: Bool)

nitc :: model $ MGroup :: is_test=

Is self created for unit testing purpose?
redef fun json_namespace: JsonNamespace

nitc :: json_model $ MGroup :: json_namespace

Return self.full_name as an object that can be serialized to json.
redef fun location: Location

nitc $ MGroup :: location

The origin of the definition.
redef fun mdoc_or_fallback: nullable MDoc

nitc :: mmodule $ MGroup :: mdoc_or_fallback

The documentation associated to the entity or their main nested entity.
redef fun mentity_kind_rank: Int

nitc :: model_index $ MGroup :: mentity_kind_rank

Compare MEntity class kind
redef fun model: Model

nitc $ MGroup :: model

A Model Entity has a direct link to its model
redef fun name: String

nitc $ MGroup :: name

The name of the group
redef fun nitdoc_breadcrumbs: Array[MEntity]

nitc :: static_base $ MGroup :: nitdoc_breadcrumbs

MEntities composing the breadcrumbs of a nitdoc page
redef fun parent_concern: nullable MConcern

nitc $ MGroup :: parent_concern

The concern that contains self or null if self is the root of the concern hierarchy
redef fun to_dot_node: DotNode

nitc :: commands_graph $ MGroup :: to_dot_node

Return self as a DotNode
redef fun to_node(nodes: HashMap[MEntity, NeoNode], model_name: nullable String): NeoNode

nitc :: neo $ MGroup :: to_node

Build a NeoNode representing self.
redef fun to_s: String

nitc $ MGroup :: to_s

User readable representation of self.
redef fun visit_all(v: ModelVisitor)

nitc :: model_visitor $ MGroup :: visit_all

Visit all the subgroups and modules of the group.

All properties

fun !=(other: nullable Object): Bool

core :: Object :: !=

Have self and other different values?
fun ==(other: nullable Object): Bool

core :: Object :: ==

Have self and other the same value?
type CLASS: Class[SELF]

core :: Object :: CLASS

The type of the class of self.
type MENTITY: SELF

nitc :: MEntity :: MENTITY

FIXME used to bypass RTA limitation on type resolution
type SELF: Object

core :: Object :: SELF

Type of this instance, automatically specialized in every class
private var _css_classes: Array[String]

nitc :: MEntity :: _css_classes

CSS classes used to decorate self
private var _default_mmodule: nullable MModule

nitc :: MGroup :: _default_mmodule

The default module of a group (if any, and if loaded)
private var _deprecation: nullable MDeprecationInfo

nitc :: MEntity :: _deprecation

Is the entity deprecated?
private var _examples: Array[MExample]

nitc :: MEntity :: _examples

Examples found for self
private var _html_full_name: String

nitc :: MEntity :: _html_full_name

The MEntity full_name escaped for HTML
private var _html_id: String

nitc :: MEntity :: _html_id

The MEntity unique ID in the HTML output
private var _html_name: String

nitc :: MEntity :: _html_name

The MEntity name escaped for HTML
private var _html_url: String

nitc :: MEntity :: _html_url

The MEntity URL in the HTML output
private var _html_url: String

nitc :: MEntity :: _html_url

private var _html_url: String

nitc :: MGroup :: _html_url

private var _in_nesting: POSetElement[MGroup]

nitc :: MGroup :: _in_nesting

The group is the group tree on the package (mpackage.mgroups)
private var _is_broken: Bool

nitc :: MEntity :: _is_broken

The indication that the entity did not pass some semantic verifications.
private var _is_example: Bool

nitc :: MGroup :: _is_example

private var _is_fictive: Bool

nitc :: MEntity :: _is_fictive

Is self created for internal purpose?
private var _is_test: Bool

nitc :: MEntity :: _is_test

Is self created for unit testing purpose?
private var _is_test: Bool

nitc :: MGroup :: _is_test

private var _location: Location

nitc :: MGroup :: _location

private var _mdoc: nullable MDoc

nitc :: MEntity :: _mdoc

The documentation associated to the entity
private var _mexample: nullable MExample

nitc :: MEntity :: _mexample

Return this entity as a MExample
private var _mmodules: Array[MModule]

nitc :: MGroup :: _mmodules

The loaded modules of this group
private var _mpackage: MPackage

nitc :: MGroup :: _mpackage

The enclosing package
private var _name: String

nitc :: MGroup :: _name

The name of the group
private var _parent: nullable MGroup

nitc :: MGroup :: _parent

The parent group if any
private var _scanned: Bool

nitc :: MGroup :: _scanned

Are files and directories in self scanned?
protected fun accept_json_serializer(v: JsonSerializer)

serialization :: Serializable :: accept_json_serializer

Refinable service to customize the serialization of this class to JSON
protected fun accept_msgpack_attribute_counter(v: AttributeCounter)

serialization :: Serializable :: accept_msgpack_attribute_counter

Hook to customize the behavior of the AttributeCounter
protected fun accept_msgpack_serializer(v: MsgPackSerializer)

serialization :: Serializable :: accept_msgpack_serializer

Hook to customize the serialization of this class to MessagePack
private fun add_doc_to_infobox(res: HInfoBox)

nitc :: MEntity :: add_doc_to_infobox

Append an entry for the doc in the given infobox
protected fun add_to_bundle(bundle: NativeBundle, key: JavaString)

serialization :: Serializable :: add_to_bundle

Called by []= to dynamically choose the appropriate method according
fun api_url: String

nitc :: MEntity :: api_url

URL to self within the JSON api.
abstract fun c_name: String

nitc :: MEntity :: c_name

A fully-qualified C-like identifier of this model entity.
protected fun class_factory(name: String): CLASS

core :: Object :: class_factory

Implementation used by get_class to create the specific class.
fun class_name: String

core :: Object :: class_name

The class name of the object.
fun collect_all_mmodules(filter: nullable ModelFilter): HashSet[MModule]

nitc :: MGroup :: collect_all_mmodules

Collect all modules contained in self
fun collect_ancestors(mainmodule: MModule, filter: nullable ModelFilter): Set[MENTITY]

nitc :: MEntity :: collect_ancestors

Collect self ancestors (direct and indirect)
abstract fun collect_children(mainmodule: MModule, filter: nullable ModelFilter): Set[MENTITY]

nitc :: MEntity :: collect_children

Collect self children (direct descendants)
fun collect_descendants(mainmodule: MModule, filter: nullable ModelFilter): Set[MENTITY]

nitc :: MEntity :: collect_descendants

Collect self descendants (direct and direct)
fun collect_linearization(mainmodule: MModule): nullable Array[MEntity]

nitc :: MEntity :: collect_linearization

Collect self linearization anchored on mainmodule
fun collect_mgroups(filter: nullable ModelFilter): HashSet[MENTITY]

nitc :: MGroup :: collect_mgroups

Collect all groups contained in self
fun collect_mmodules(filter: nullable ModelFilter): HashSet[MModule]

nitc :: MGroup :: collect_mmodules

Collect all modules contained in self
fun collect_modifiers: Array[String]

nitc :: MEntity :: collect_modifiers

Collect modifier keywords like redef, private etc
abstract fun collect_parents(mainmodule: MModule, filter: nullable ModelFilter): Set[MENTITY]

nitc :: MEntity :: collect_parents

Collect self parents (direct ancestors)
fun color: String

nitc :: MEntity :: color

private fun complete_mdoc: nullable MDoc

nitc :: MEntity :: complete_mdoc

Doc to use in completion
private fun complete_name: String

nitc :: MEntity :: complete_name

Actual name used in completion
protected fun const_color=(const_color: String)

nitc :: MEntity :: const_color=

fun core_serialize_to(serializer: Serializer)

serialization :: Serializable :: core_serialize_to

Actual serialization of self to serializer
abstract fun create_ast_representation(astbuilder: nullable ASTBuilder): ANode

nitc :: MEntity :: create_ast_representation

Build a ANode from self
fun cs_comment(no_color: nullable Bool): nullable String

nitc :: MEntity :: cs_comment

Returns the comment of this MEntity formatted for console.
fun cs_declaration(no_color: nullable Bool): String

nitc :: MEntity :: cs_declaration

Returns the complete MEntity declaration (modifiers + name + signature).
fun cs_full_name(no_color: nullable Bool): String

nitc :: MEntity :: cs_full_name

Returns self.full_name formatted for console
fun cs_icon(no_color: nullable Bool): String

nitc :: MEntity :: cs_icon

Text icon to be displayed in front of the entity
fun cs_list_item(no_color: nullable Bool): String

nitc :: MEntity :: cs_list_item

Returns self as a list element that can be displayed in console.
fun cs_location(no_color: nullable Bool): String

nitc :: MEntity :: cs_location

Source code location of this MEntity formatted for console
fun cs_short_comment(no_color: nullable Bool): nullable String

nitc :: MEntity :: cs_short_comment

Returns the comment of this MEntity formatted for console.
fun cs_signature(no_color: nullable Bool): String

nitc :: MEntity :: cs_signature

Returns self signature formatted for console.
fun cs_source_code: String

nitc :: MEntity :: cs_source_code

Source code associated to this MEntity.
fun css_classes: Array[String]

nitc :: MEntity :: css_classes

CSS classes used to decorate self
protected fun css_classes=(css_classes: Array[String])

nitc :: MEntity :: css_classes=

CSS classes used to decorate self
fun default_mmodule: nullable MModule

nitc :: MGroup :: default_mmodule

The default module of a group (if any, and if loaded)
protected fun default_mmodule=(default_mmodule: nullable MModule)

nitc :: MGroup :: default_mmodule=

The default module of a group (if any, and if loaded)
init defaultinit(name: String, location: Location, mpackage: MPackage, parent: nullable MGroup)

nitc :: MGroup :: defaultinit

fun deprecation: nullable MDeprecationInfo

nitc :: MEntity :: deprecation

Is the entity deprecated?
fun deprecation=(deprecation: nullable MDeprecationInfo)

nitc :: MEntity :: deprecation=

Is the entity deprecated?
fun examples: Array[MExample]

nitc :: MEntity :: examples

Examples found for self
protected fun examples=(examples: Array[MExample])

nitc :: MEntity :: examples=

Examples found for self
fun filepath: nullable String

nitc :: MGroup :: filepath

The filepath (usually a directory) of the group, if any
init from_deserializer(deserializer: Deserializer)

serialization :: Serializable :: from_deserializer

Create an instance of this class from the deserializer
abstract fun full_name: String

nitc :: MEntity :: full_name

A fully-qualified name of this model entity.
fun get_class: CLASS

core :: Object :: get_class

The meta-object representing the dynamic type of self.
fun hash: Int

core :: Object :: hash

The hash code of the object.
fun hierarchy_poset(mainmodule: MModule, filter: nullable ModelFilter): POSet[MENTITY]

nitc :: MEntity :: hierarchy_poset

Build a poset representing self in it's own hierarchy
private fun href(v: NitlightVisitor): nullable String

nitc :: MEntity :: href

fun html_declaration: Template

nitc :: MEntity :: html_declaration

Returns the complete MEntity declaration decorated with HTML
fun html_full_name: String

nitc :: MEntity :: html_full_name

The MEntity full_name escaped for HTML
protected fun html_full_name=(html_full_name: String)

nitc :: MEntity :: html_full_name=

The MEntity full_name escaped for HTML
fun html_icon: BSIcon

nitc :: MEntity :: html_icon

An icon representative of the mentity
fun html_id: String

nitc :: MEntity :: html_id

The MEntity unique ID in the HTML output
protected fun html_id=(html_id: String)

nitc :: MEntity :: html_id=

The MEntity unique ID in the HTML output
fun html_name: String

nitc :: MEntity :: html_name

The MEntity name escaped for HTML
protected fun html_name=(html_name: String)

nitc :: MEntity :: html_name=

The MEntity name escaped for HTML
abstract fun html_namespace: Template

nitc :: MEntity :: html_namespace

Returns full_name decorated with HTML links
fun html_signature(short: nullable Bool): Template

nitc :: MEntity :: html_signature

Returns the MEntity signature decorated with HTML
fun html_url: String

nitc :: MEntity :: html_url

The MEntity URL in the HTML output
protected fun html_url=(html_url: String)

nitc :: MEntity :: html_url=

The MEntity URL in the HTML output
fun in_nesting: POSetElement[MGroup]

nitc :: MGroup :: in_nesting

The group is the group tree on the package (mpackage.mgroups)
protected fun in_nesting=(in_nesting: POSetElement[MGroup])

nitc :: MGroup :: in_nesting=

The group is the group tree on the package (mpackage.mgroups)
abstract fun infobox(v: HtmlightVisitor): HInfoBox

nitc :: HInfoBoxable :: infobox

An new infobox documenting the entity
init init

core :: Object :: init

fun inspect: String

core :: Object :: inspect

Developer readable representation of self.
protected fun inspect_head: String

core :: Object :: inspect_head

Return "CLASSNAME:#OBJECTID".
fun is_broken: Bool

nitc :: MEntity :: is_broken

The indication that the entity did not pass some semantic verifications.
fun is_broken=(is_broken: Bool)

nitc :: MEntity :: is_broken=

The indication that the entity did not pass some semantic verifications.
fun is_example: Bool

nitc :: MEntity :: is_example

Is self existing for an example purpose?
protected fun is_example=(is_example: Bool)

nitc :: MGroup :: is_example=

fun is_fictive: Bool

nitc :: MEntity :: is_fictive

Is self created for internal purpose?
fun is_fictive=(is_fictive: Bool)

nitc :: MEntity :: is_fictive=

Is self created for internal purpose?
fun is_interesting: Bool

nitc :: MGroup :: is_interesting

Is the group interesting for a final user?
fun is_root: Bool

nitc :: MGroup :: is_root

Is self the root of its package?
intern fun is_same_instance(other: nullable Object): Bool

core :: Object :: is_same_instance

Return true if self and other are the same instance (i.e. same identity).
fun is_same_serialized(other: nullable Object): Bool

core :: Object :: is_same_serialized

Is self the same as other in a serialization context?
intern fun is_same_type(other: Object): Bool

core :: Object :: is_same_type

Return true if self and other have the same dynamic type.
fun is_test: Bool

nitc :: MEntity :: is_test

Is self created for unit testing purpose?
fun is_test=(is_test: Bool)

nitc :: MEntity :: is_test=

Is self created for unit testing purpose?
private fun jname: String

nitc :: MEntity :: jname

A Java compatible name for self
abstract fun json_namespace: JsonNamespace

nitc :: MEntity :: json_namespace

Return self.full_name as an object that can be serialized to json.
fun linkto(v: HtmlightVisitor): HTMLTag

nitc :: MEntity :: linkto

A HTML version of to_s with hyper-links.
fun linkto_text(v: HtmlightVisitor, text: String): HTMLTag

nitc :: MEntity :: linkto_text

Link to the self with a specific text.
fun location: Location

nitc :: MEntity :: location

The origin of the definition.
protected fun location=(location: Location)

nitc :: MGroup :: location=

private fun make_node(nodes: HashMap[MEntity, NeoNode], model_name: nullable String): NeoNode

nitc :: MEntity :: make_node

Make a new NeoNode based on mentity.
fun mdoc: nullable MDoc

nitc :: MEntity :: mdoc

The documentation associated to the entity
fun mdoc=(mdoc: nullable MDoc)

nitc :: MEntity :: mdoc=

The documentation associated to the entity
fun mdoc_or_fallback: nullable MDoc

nitc :: MEntity :: mdoc_or_fallback

The documentation associated to the entity or their main nested entity.
private fun mentity_kind_rank: Int

nitc :: MEntity :: mentity_kind_rank

Compare MEntity class kind
fun mexample: nullable MExample

nitc :: MEntity :: mexample

Return this entity as a MExample
protected fun mexample=(mexample: nullable MExample)

nitc :: MEntity :: mexample=

Return this entity as a MExample
fun mmodules: Array[MModule]

nitc :: MGroup :: mmodules

The loaded modules of this group
protected fun mmodules=(mmodules: Array[MModule])

nitc :: MGroup :: mmodules=

The loaded modules of this group
fun mmodules_by_name(name: String): Array[MModule]

nitc :: MGroup :: mmodules_by_name

Return the modules in self and subgroups named name.
abstract fun model: Model

nitc :: MEntity :: model

A Model Entity has a direct link to its model
fun mpackage: MPackage

nitc :: MGroup :: mpackage

The enclosing package
protected fun mpackage=(mpackage: MPackage)

nitc :: MGroup :: mpackage=

The enclosing package
protected fun msgpack_extra_array_items: Int

serialization :: Serializable :: msgpack_extra_array_items

Hook to request a larger than usual metadata array
abstract fun name: String

nitc :: MEntity :: name

The short (unqualified) name of this model entity.
protected fun name=(name: String)

nitc :: MGroup :: name=

The name of the group
private intern fun native_class_name: CString

core :: Object :: native_class_name

The class name of the object in CString format.
abstract fun nitdoc_breadcrumbs: Array[MEntity]

nitc :: MEntity :: nitdoc_breadcrumbs

MEntities composing the breadcrumbs of a nitdoc page
protected fun nitdoc_breadcrumbs=(nitdoc_breadcrumbs: Array[MEntity])

nitc :: MGroup :: nitdoc_breadcrumbs=

intern fun object_id: Int

core :: Object :: object_id

An internal hash code for the object based on its identity.
fun output

core :: Object :: output

Display self on stdout (debug only).
intern fun output_class_name

core :: Object :: output_class_name

Display class name on stdout (debug only).
fun parent: nullable MGroup

nitc :: MGroup :: parent

The parent group if any
protected fun parent=(parent: nullable MGroup)

nitc :: MGroup :: parent=

The parent group if any
abstract fun parent_concern: nullable MConcern

nitc :: MConcern :: parent_concern

The concern that contains self or null if self is the root of the concern hierarchy
fun ratings(config: NitwebConfig, user: nullable String): JsonObject

nitc :: MEntity :: ratings

Get the ratings of a mentity
fun ratings_by_dimension(config: NitwebConfig, dimension: String, user: nullable String): JsonObject

nitc :: MEntity :: ratings_by_dimension

Get the ratings of a dimension
fun scanned: Bool

nitc :: MGroup :: scanned

Are files and directories in self scanned?
protected fun scanned=(scanned: Bool)

nitc :: MGroup :: scanned=

Are files and directories in self scanned?
fun serialization_hash: Int

core :: Object :: serialization_hash

Hash value use for serialization
fun serialize_msgpack(plain: nullable Bool): Bytes

serialization :: Serializable :: serialize_msgpack

Serialize self to MessagePack bytes
fun serialize_to(serializer: Serializer)

serialization :: Serializable :: serialize_to

Serialize self to serializer
fun serialize_to_json(plain: nullable Bool, pretty: nullable Bool): String

serialization :: Serializable :: serialize_to_json

Serialize self to JSON
private fun serialize_to_or_delay(v: Serializer)

serialization :: Serializable :: serialize_to_or_delay

Accept references or force direct serialization (using serialize_to)
private fun source_url(url_pattern: nullable String): String

nitc :: MEntity :: source_url

Render a HTML link for the MEntity location
intern fun sys: Sys

core :: Object :: sys

Return the global sys object, the only instance of the Sys class.
fun to_dot_node: DotNode

nitc :: MEntity :: to_dot_node

Return self as a DotNode
fun to_json: String

serialization :: Serializable :: to_json

Serialize self to plain JSON
fun to_json_ref: MEntityRef

nitc :: MEntity :: to_json_ref

Return a new MEntityRef to self.
abstract fun to_jvalue(env: JniEnv): JValue

core :: Object :: to_jvalue

private fun to_node(nodes: HashMap[MEntity, NeoNode], model_name: nullable String): NeoNode

nitc :: MEntity :: to_node

Build a NeoNode representing self.
fun to_pretty_json: String

serialization :: Serializable :: to_pretty_json

Serialize self to plain pretty JSON
fun to_s: String

core :: Object :: to_s

User readable representation of self.
abstract fun tpl_class(model: UMLModel): Writable

nitc :: MEntity :: tpl_class

Generates a dot-compatible Writable UML Class diagram from self
abstract fun tpl_module(model: UMLModel): Writable

nitc :: MEntity :: tpl_module

Builds a dot UML package diagram entity from self
fun visibility: MVisibility

nitc :: MEntity :: visibility

The visibility of the MEntity.
fun visit_all(v: ModelVisitor)

nitc :: MEntity :: visit_all

Call v.enter_visit on all nested entities.
fun web_url: String

nitc :: MEntity :: web_url

URL to self within the web interface.
private fun write_doc(model: Model, mainmodule: MModule, stream: Writer)

nitc :: MEntity :: write_doc

private fun write_extra_doc(model: Model, mainmodule: MModule, stream: Writer)

nitc :: MEntity :: write_extra_doc

Extra auto documentation to append to the stream
private fun write_location(mainmodule: MModule, stream: Writer)

nitc :: MEntity :: write_location

Location (file and line when available) of related declarations
package_diagram nitc::MGroup MGroup nitc::MConcern MConcern nitc::MGroup->nitc::MConcern nitc::MEntity MEntity nitc::MConcern->nitc::MEntity ...nitc::MEntity ... ...nitc::MEntity->nitc::MEntity

Ancestors

interface HInfoBoxable

nitc :: HInfoBoxable

Model entity or whatever that can produce an infobox
abstract class MEntity

nitc :: MEntity

A named and possibly documented entity in the model.
interface Object

core :: Object

The root of the class hierarchy.
interface Serializable

serialization :: Serializable

Instances of this class can be passed to Serializer::serialize

Parents

abstract class MConcern

nitc :: MConcern

Something that represents a concern

Class definitions

nitc $ MGroup
# A group of modules in a package
class MGroup
	super MConcern

	# The name of the group
	# empty name for a default group in a single-module package
	redef var name

	redef var location

	# The enclosing package
	var mpackage: MPackage

	# The parent group if any
	# see `in_nesting` for more
	var parent: nullable MGroup

	# Fully qualified name.
	# It includes each parent group separated by `>`.
	# The full_name is terminated by `>` to avoid collision with other entities.
	#
	# E.g. `core>` and `core>collection>`
	redef fun full_name
	do
		var p = parent
		if p == null then return "{name}>"
		return "{p.full_name}{name}>"
	end

	# The group is the group tree on the package (`mpackage.mgroups`)
	# nested groups (children) are smaller
	# nesting group (see `parent`) is bigger
	var in_nesting: POSetElement[MGroup] is noinit

	# Is `self` the root of its package?
	fun is_root: Bool do return mpackage.root == self

	# The filepath (usually a directory) of the group, if any
	#
	# safe alias to `location.file.filename`
	fun filepath: nullable String do
		var res
		res = self.location.file
		if res == null then return null
		return res.filename
	end

	init
	do
		var tree = mpackage.mgroups
		self.in_nesting = tree.add_node(self)
		var parent = self.parent
		if parent != null then
			tree.add_edge(self, parent)
		end
	end

	redef fun model do return mpackage.model

	redef fun parent_concern do
		if not is_root then return parent
		return mpackage
	end

	redef fun to_s do return name
end
src/model/mpackage.nit:115,1--180,3

nitc :: mmodule $ MGroup
redef class MGroup
	# The loaded modules of this group
	var mmodules = new Array[MModule]

	# The default module of a group (if any, and if loaded)
	#
	# The default module of a group is the one that has the same name.
	# Return `null` if the group has no default module or if the default
	# module is not loaded.
	var default_mmodule: nullable MModule = null

	redef fun mdoc_or_fallback
	do
		if mdoc != null then return mdoc
		var default_mmodule = self.default_mmodule
		if default_mmodule == null then return null
		return default_mmodule.mdoc_or_fallback
	end
end
src/model/mmodule.nit:53,1--71,3

nitc :: model $ MGroup
redef class MGroup
	redef var is_test is lazy do
		var parent = self.parent
		if parent != null and parent.is_test then return true
		return name == "tests"
	end
end
src/model/model.nit:162,1--168,3

nitc :: loader $ MGroup
redef class MGroup
	# Is the group interesting for a final user?
	#
	# Groups are mandatory in the model but for simple packages they are not
	# always interesting.
	#
	# A interesting group has, at least, one of the following true:
	#
	# * it has 2 modules or more
	# * it has a subgroup
	# * it has a documentation
	fun is_interesting: Bool
	do
		return mmodules.length > 1 or
			not in_nesting.direct_smallers.is_empty or
			mdoc != null or
			(mmodules.length == 1 and default_mmodule == null)
	end

	# Are files and directories in self scanned?
	#
	# See `ModelBuilder::scan_group`.
	var scanned = false

	# Return the modules in self and subgroups named `name`.
	#
	# If `self` is not scanned (see `ModelBuilder::scan_group`) the
	# results might be partial.
	fun mmodules_by_name(name: String): Array[MModule]
	do
		var res = new Array[MModule]
		for g in in_nesting.smallers do
			for mp in g.mmodules do
				if mp.name == name then
					res.add mp
				end
			end
		end
		return res
	end
end
src/loader.nit:1230,1--1270,3

nitc :: model_examples $ MGroup
redef class MGroup
	redef var is_example is lazy do
		var parent = self.parent
		if parent != null and parent.is_example then return true
		return name == "examples"
	end

	redef fun examples do
		var res = super
		for mmodule in mmodules do
			for example in mmodule.examples do
				if not res.has(example) then res.add example
			end
		end
		return res
	end
end
src/model/model_examples.nit:73,1--89,3

nitc :: neo $ MGroup
redef class MGroup
	redef fun to_node(nodes: HashMap[MEntity, NeoNode], model_name: nullable String): NeoNode do
		if nodes.has_key(self) then return nodes[self]
		var node = super
		var parent = parent
		node.out_edges.add(new NeoEdge(node, "PROJECT", mpackage.to_node(nodes, model_name)))
		if parent != null then
			node.out_edges.add(new NeoEdge(node, "PARENT", parent.to_node(nodes, model_name)))
		end
		for mmodule in mmodules do
			node.out_edges.add(new NeoEdge(node, "DECLARES", mmodule.to_node(nodes, model_name)))
		end
		for subgroup in in_nesting.direct_smallers do
			node.in_edges.add(new NeoEdge(node, "NESTS", subgroup.to_node(nodes, model_name)))
		end
		return node
	end
end
src/neo.nit:697,1--714,3

nitc :: model_collect $ MGroup
redef class MGroup

	redef fun collect_modifiers do return super + ["group"]

	# Collect all groups directly import by `self`
	redef fun collect_parents(mainmodule, filter) do
		var res = new HashSet[MENTITY]
		for mmodule in mmodules do
			for parent in mmodule.collect_parents(mainmodule, filter) do
				var mgroup = parent.mgroup
				if mgroup == null or mgroup == self then continue
				if filter == null or filter.accept_mentity(mgroup) then res.add(mgroup)
			end
		end
		return res
	end

	# Collect all group that directly import `self`
	redef fun collect_children(mainmodule, filter) do
		var res = new HashSet[MENTITY]
		for mgroup in model.collect_mgroups(filter) do
			if mgroup == self then continue
			if filter != null and not filter.accept_mentity(mgroup) then continue
			if mgroup.collect_parents(mainmodule, filter).has(self) then res.add mgroup
		end
		return res
	end

	# Collect all groups contained in `self`
	fun collect_mgroups(filter: nullable ModelFilter): HashSet[MENTITY] do
		var res = new HashSet[MENTITY]
		for mgroup in in_nesting.direct_smallers do
			if filter == null or filter.accept_mentity(mgroup) then res.add(mgroup)
		end
		return res
	end

	# Collect all modules contained in `self`
	fun collect_all_mmodules(filter: nullable ModelFilter): HashSet[MModule] do
		var res = new HashSet[MModule]
		for mgroup in collect_mgroups(filter) do
			res.add_all mgroup.collect_all_mmodules(filter)
		end
		return res
	end

	# Collect all modules contained in `self`
	fun collect_mmodules(filter: nullable ModelFilter): HashSet[MModule] do
		var res = new HashSet[MModule]
		for mmodule in mmodules do
			if filter == null or filter.accept_mentity(mmodule) then res.add(mmodule)
		end
		return res
	end
end
src/model/model_collect.nit:419,1--473,3

nitc :: model_visitor $ MGroup
redef class MGroup
	# Visit all the subgroups and modules of the group.
	redef fun visit_all(v) do
		for x in in_nesting.direct_smallers do v.enter_visit(x)
		for x in mmodules do v.enter_visit(x)
	end
end
src/model/model_visitor.nit:120,1--126,3

nitc :: model_index $ MGroup
redef class MGroup
	redef fun mentity_kind_rank do return 2
end
src/model/model_index.nit:650,1--652,3

nitc :: html_model $ MGroup
redef class MGroup
	redef fun html_icon do return new BSIcon("folder-close", ["text-muted"])

	redef fun html_namespace do
		var tpl = new Template
		var parent = self.parent
		if parent != null then
			tpl.add parent.html_namespace
			tpl.add " > "
		end
		tpl.add html_link
		return tpl
	end
end
src/doc/templates/html_model.nit:104,1--117,3

nitc :: commands_graph $ MGroup
redef class MGroup
	redef fun to_dot_node do
		var node = super
		node["shape"] = "folder"
		return node
	end
end
src/doc/commands/commands_graph.nit:377,1--383,3

nitc :: json_model $ MGroup
redef class MGroup
	redef fun json_namespace do
		var ns = new JsonNamespace
		if parent != null then
			ns.prepend parent.as(not null).json_namespace
		end
		ns.add to_json_ref
		ns.add ">"
		return ns
	end
end
src/doc/templates/json_model.nit:118,1--128,3

nitc :: static_base $ MGroup
redef class MGroup
	redef var nitdoc_breadcrumbs is lazy do
		var parent = self.parent
		if parent != null then
			return parent.nitdoc_breadcrumbs + [self]
		end
		return mpackage.nitdoc_breadcrumbs
	end
end
src/doc/static/static_base.nit:253,1--261,3

nitc :: static_html $ MGroup
redef class MGroup
	redef var html_url is lazy do return "group_{super}"
end
src/doc/static/static_html.nit:380,1--382,3

nitc :: api_metrics $ MGroup
redef class MGroup
	redef fun collect_metrics(h) do
		var mclasses = new HashSet[MClass]
		for mmodule in self.mmodules do mclasses.add_all mmodule.intro_mclasses

		var mclasses_metrics = h.mclasses_metrics
		mclasses_metrics.collect(new HashSet[MClass].from(mclasses))

		var mmodules_metrics = h.mmodules_metrics
		mmodules_metrics.collect(new HashSet[MModule].from(mmodules))

		var metrics = new JsonObject
		metrics["mclasses"] = mclasses_metrics
		metrics["mmodules"] = mmodules_metrics
		return metrics
	end
end
src/doc/api/api_metrics.nit:108,1--124,3