001package org.schemastore.json.sarif.x210; 002 003import gov.nist.secauto.metaschema.core.datatype.adapter.StringAdapter; 004import gov.nist.secauto.metaschema.core.datatype.adapter.UriAdapter; 005import gov.nist.secauto.metaschema.core.datatype.adapter.UuidAdapter; 006import gov.nist.secauto.metaschema.core.model.IBoundObject; 007import gov.nist.secauto.metaschema.core.model.IMetaschemaData; 008import gov.nist.secauto.metaschema.databind.model.annotations.BoundAssembly; 009import gov.nist.secauto.metaschema.databind.model.annotations.BoundField; 010import gov.nist.secauto.metaschema.databind.model.annotations.BoundFlag; 011import gov.nist.secauto.metaschema.databind.model.annotations.MetaschemaAssembly; 012import java.lang.Override; 013import java.lang.String; 014import java.net.URI; 015import java.util.UUID; 016import org.apache.commons.lang3.builder.ReflectionToStringBuilder; 017import org.apache.commons.lang3.builder.ToStringStyle; 018 019/** 020 * Metadata that describes a specific report produced by the tool, as part of the analysis it provides or its runtime reporting. 021 */ 022@MetaschemaAssembly( 023 formalName = "Reporting Descriptor", 024 description = "Metadata that describes a specific report produced by the tool, as part of the analysis it provides or its runtime reporting.", 025 name = "reportingDescriptor", 026 moduleClass = SarifModule.class 027) 028public class ReportingDescriptor implements IBoundObject { 029 private final IMetaschemaData __metaschemaData; 030 031 /** 032 * "A stable, opaque identifier for the report." 033 */ 034 @BoundFlag( 035 formalName = "Reporting Descriptor Identifier", 036 description = "A stable, opaque identifier for the report.", 037 name = "id", 038 required = true, 039 typeAdapter = StringAdapter.class 040 ) 041 private String _id; 042 043 /** 044 * "A stable, unique identifier for the reporting descriptor." 045 */ 046 @BoundFlag( 047 formalName = "Reporting Descriptor Unique Identifier", 048 description = "A stable, unique identifier for the reporting descriptor.", 049 name = "guid", 050 typeAdapter = UuidAdapter.class 051 ) 052 private UUID _guid; 053 054 @BoundField( 055 formalName = "Reporting Descriptor Name", 056 description = "A report identifier that is understandable to an end user.", 057 useName = "name" 058 ) 059 private String _name; 060 061 @BoundAssembly( 062 formalName = "Short Description", 063 description = "A concise description of the report. Should be a single sentence that is understandable when visible space is limited to a single line of text.", 064 useName = "shortDescription" 065 ) 066 private MultiformatMessageString _shortDescription; 067 068 @BoundAssembly( 069 formalName = "Full Description", 070 description = "A description of the report. Should, as far as possible, provide details sufficient to enable resolution of any problem indicated by the result.", 071 useName = "fullDescription" 072 ) 073 private MultiformatMessageString _fullDescription; 074 075 @BoundField( 076 formalName = "Help URI", 077 description = "A URI where the primary documentation for the report can be found.", 078 useName = "helpUri", 079 typeAdapter = UriAdapter.class 080 ) 081 private URI _helpUri; 082 083 @BoundAssembly( 084 formalName = "Help Description", 085 description = "Provides the primary documentation for the report, useful when there is no online documentation.", 086 useName = "help" 087 ) 088 private MultiformatMessageString _help; 089 090 public ReportingDescriptor() { 091 this(null); 092 } 093 094 public ReportingDescriptor(IMetaschemaData data) { 095 this.__metaschemaData = data; 096 } 097 098 @Override 099 public IMetaschemaData getMetaschemaData() { 100 return __metaschemaData; 101 } 102 103 public String getId() { 104 return _id; 105 } 106 107 public void setId(String value) { 108 _id = value; 109 } 110 111 public UUID getGuid() { 112 return _guid; 113 } 114 115 public void setGuid(UUID value) { 116 _guid = value; 117 } 118 119 public String getName() { 120 return _name; 121 } 122 123 public void setName(String value) { 124 _name = value; 125 } 126 127 public MultiformatMessageString getShortDescription() { 128 return _shortDescription; 129 } 130 131 public void setShortDescription(MultiformatMessageString value) { 132 _shortDescription = value; 133 } 134 135 public MultiformatMessageString getFullDescription() { 136 return _fullDescription; 137 } 138 139 public void setFullDescription(MultiformatMessageString value) { 140 _fullDescription = value; 141 } 142 143 public URI getHelpUri() { 144 return _helpUri; 145 } 146 147 public void setHelpUri(URI value) { 148 _helpUri = value; 149 } 150 151 public MultiformatMessageString getHelp() { 152 return _help; 153 } 154 155 public void setHelp(MultiformatMessageString value) { 156 _help = value; 157 } 158 159 @Override 160 public String toString() { 161 return new ReflectionToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE).toString(); 162 } 163}