File Coverage

blib/lib/SBOM/CycloneDX/Enum/AggregateType.pm
Criterion Covered Total %
statement 19 20 95.0
branch n/a
condition n/a
subroutine 6 7 85.7
pod 0 1 0.0
total 25 28 89.2


line stmt bran cond sub pod time code
1             package SBOM::CycloneDX::Enum::AggregateType;
2              
3 16     16   279 use 5.010001;
  16         60  
4 16     16   105 use strict;
  16         36  
  16         504  
5 16     16   261 use warnings;
  16         75  
  16         774  
6 16     16   92 use utf8;
  16         32  
  16         95  
7              
8 16     16   698 use Exporter 'import';
  16         28  
  16         3209  
9             our (@EXPORT_OK, %EXPORT_TAGS, %ENUM);
10              
11             BEGIN {
12              
13 16     16   188 %ENUM = (
14             COMPLETE => "complete",
15             INCOMPLETE => "incomplete",
16             INCOMPLETE_FIRST_PARTY_ONLY => "incomplete_first_party_only",
17             INCOMPLETE_FIRST_PARTY_PROPRIETARY_ONLY => "incomplete_first_party_proprietary_only",
18             INCOMPLETE_FIRST_PARTY_OPENSOURCE_ONLY => "incomplete_first_party_opensource_only",
19             INCOMPLETE_THIRD_PARTY_ONLY => "incomplete_third_party_only",
20             INCOMPLETE_THIRD_PARTY_PROPRIETARY_ONLY => "incomplete_third_party_proprietary_only",
21             INCOMPLETE_THIRD_PARTY_OPENSOURCE_ONLY => "incomplete_third_party_opensource_only",
22             UNKNOWN => "unknown",
23             NOT_SPECIFIED => "not_specified"
24             );
25              
26 16         88 require constant;
27 16         2289 constant->import(\%ENUM);
28              
29 16         155 @EXPORT_OK = sort keys %ENUM;
30 16         1660 %EXPORT_TAGS = (all => \@EXPORT_OK);
31              
32             }
33              
34 0     0 0   sub values { sort values %ENUM }
35              
36             1;
37              
38             =encoding utf-8
39              
40             =head1 NAME
41              
42             SBOM::CycloneDX::Enum::AggregateType - Specifies an aggregate type that describes
43             how complete a relationship is
44              
45             =head1 SYNOPSIS
46              
47             use SBOM::CycloneDX::Enum qw(AGGREGATE_TYPE);
48              
49             say AGGREGATE_TYPE->NOT_SPECIFIED;
50              
51              
52             use SBOM::CycloneDX::Enum::AggregateType;
53              
54             say SBOM::CycloneDX::Enum::AggregateType->COMPLETE;
55              
56              
57             use SBOM::CycloneDX::Enum::AggregateType qw(:all);
58              
59             say INCOMPLETE;
60              
61              
62             =head1 DESCRIPTION
63              
64             L is ENUM package used by L.
65              
66              
67             =head1 CONSTANTS
68              
69             =over
70              
71             =item * C, The relationship is complete. No further relationships
72             including constituent components, services, or dependencies are known to
73             exist.
74              
75             =item * C, The relationship is incomplete. Additional
76             relationships exist and may include constituent components, services, or
77             dependencies.
78              
79             =item * C, The relationship is incomplete.
80             Only relationships for first-party components, services, or their
81             dependencies are represented.
82              
83             =item * C, The relationship is
84             incomplete. Only relationships for first-party components, services, or
85             their dependencies are represented, limited specifically to those that are
86             proprietary.
87              
88             =item * C, The relationship is
89             incomplete. Only relationships for first-party components, services, or
90             their dependencies are represented, limited specifically to those that are
91             opensource.
92              
93             =item * C, The relationship is incomplete.
94             Only relationships for third-party components, services, or their
95             dependencies are represented.
96              
97             =item * C, The relationship is
98             incomplete. Only relationships for third-party components, services, or
99             their dependencies are represented, limited specifically to those that are
100             proprietary.
101              
102             =item * C, The relationship is
103             incomplete. Only relationships for third-party components, services, or
104             their dependencies are represented, limited specifically to those that are
105             opensource.
106              
107             =item * C, The relationship may be complete or incomplete. This
108             usually signifies a 'best-effort' to obtain constituent components,
109             services, or dependencies but the completeness is inconclusive.
110              
111             =item * C, The relationship completeness is not specified.
112              
113             =back
114              
115             =head1 SUPPORT
116              
117             =head2 Bugs / Feature Requests
118              
119             Please report any bugs or feature requests through the issue tracker
120             at L.
121             You will be notified automatically of any progress on your issue.
122              
123             =head2 Source Code
124              
125             This is open source software. The code repository is available for
126             public review and contribution under the terms of the license.
127              
128             L
129              
130             git clone https://github.com/giterlizzi/perl-SBOM-CycloneDX.git
131              
132              
133             =head1 AUTHOR
134              
135             =over 4
136              
137             =item * Giuseppe Di Terlizzi
138              
139             =back
140              
141              
142             =head1 LICENSE AND COPYRIGHT
143              
144             This software is copyright (c) 2025-2026 by Giuseppe Di Terlizzi.
145              
146             This is free software; you can redistribute it and/or modify it under
147             the same terms as the Perl 5 programming language system itself.
148              
149             =cut