File Coverage

blib/lib/SBOM/CycloneDX/Patent/PriorityApplication.pm
Criterion Covered Total %
statement 23 29 79.3
branch 0 6 0.0
condition n/a
subroutine 8 9 88.8
pod 1 1 100.0
total 32 45 71.1


line stmt bran cond sub pod time code
1             package SBOM::CycloneDX::Patent::PriorityApplication;
2              
3 1     1   1901 use 5.010001;
  1         6  
4 1     1   8 use strict;
  1         3  
  1         31  
5 1     1   6 use warnings;
  1         3  
  1         70  
6 1     1   8 use utf8;
  1         3  
  1         10  
7              
8 1     1   35 use SBOM::CycloneDX::Timestamp;
  1         2  
  1         41  
9              
10 1     1   7 use Types::Standard qw(Str InstanceOf);
  1         2  
  1         12  
11              
12 1     1   3944 use Moo;
  1         4  
  1         11  
13 1     1   538 use namespace::autoclean;
  1         32  
  1         18  
14              
15             extends 'SBOM::CycloneDX::Base';
16              
17              
18             has application_number => (is => 'rw', isa => Str, required => 1);
19              
20             has jurisdiction => (is => 'rw', isa => Str, required => 1);
21              
22             has filing_date => (
23             is => 'rw',
24             isa => InstanceOf ['SBOM::CycloneDX::Timestamp'],
25             coerce => sub { ref($_[0]) ? $_[0] : SBOM::CycloneDX::Timestamp->new($_[0]) },
26             required => 1
27             );
28              
29              
30             sub TO_JSON {
31              
32 0     0 1   my $self = shift;
33              
34 0           my $json = {};
35              
36 0 0         $json->{applicationNumber} = $self->application_number if ($self->application_number);
37 0 0         $json->{jurisdiction} = $self->jurisdiction if ($self->jurisdiction);
38 0 0         $json->{filingDate} = $self->filing_date if ($self->filing_date);
39              
40 0           return $json;
41              
42             }
43              
44             1;
45              
46             =encoding utf-8
47              
48             =head1 NAME
49              
50             SBOM::CycloneDX::Patent::PriorityApplication - Priority Application
51              
52             =head1 SYNOPSIS
53              
54             SBOM::CycloneDX::Patent::PriorityApplication->new();
55              
56              
57             =head1 DESCRIPTION
58              
59             L The priorityApplication
60             contains the essential data necessary to identify and reference an earlier
61             patent filing for priority rights. In line with WIPO ST.96 guidelines, it
62             includes the jurisdiction (office code), application number, and filing
63             date-the three key elements that uniquely specify the priority application
64             in a global patent context.
65              
66             =head2 METHODS
67              
68             L inherits all methods from L
69             and implements the following new ones.
70              
71             =over
72              
73             =item SBOM::CycloneDX::Patent::PriorityApplication->new( %PARAMS )
74              
75             Properties:
76              
77             =over
78              
79             =item * C, The unique number assigned to a patent application
80             when it is filed with a patent office. It is used to identify the specific
81             application and track its progress through the examination process. Aligned
82             with C in ST.96. Refer to L.
83              
84             =item * C, The date the patent application was filed with the
85             jurisdiction. Aligned with C in WIPO ST.96. Refer to
86             L.
87              
88             =item * C, The jurisdiction or patent office where the priority
89             application was filed, specified using WIPO ST.3 codes. Aligned with
90             C in ST.96. Refer to L.
91              
92             =back
93              
94             =item $priority_application->application_number
95              
96             =item $priority_application->filing_date
97              
98             =item $priority_application->jurisdiction
99              
100             =back
101              
102              
103             =head1 SUPPORT
104              
105             =head2 Bugs / Feature Requests
106              
107             Please report any bugs or feature requests through the issue tracker
108             at L.
109             You will be notified automatically of any progress on your issue.
110              
111             =head2 Source Code
112              
113             This is open source software. The code repository is available for
114             public review and contribution under the terms of the license.
115              
116             L
117              
118             git clone https://github.com/giterlizzi/perl-SBOM-CycloneDX.git
119              
120              
121             =head1 AUTHOR
122              
123             =over 4
124              
125             =item * Giuseppe Di Terlizzi
126              
127             =back
128              
129              
130             =head1 LICENSE AND COPYRIGHT
131              
132             This software is copyright (c) 2025-2026 by Giuseppe Di Terlizzi.
133              
134             This is free software; you can redistribute it and/or modify it under
135             the same terms as the Perl 5 programming language system itself.
136              
137             =cut