- 2.79.0 (latest)
 - 2.77.0
 - 2.76.0
 - 2.75.0
 - 2.74.0
 - 2.73.0
 - 2.71.0
 - 2.69.0
 - 2.68.0
 - 2.65.0
 - 2.64.0
 - 2.63.0
 - 2.61.0
 - 2.60.0
 - 2.59.0
 - 2.58.0
 - 2.57.0
 - 2.56.0
 - 2.55.0
 - 2.54.0
 - 2.53.0
 - 2.52.0
 - 2.50.0
 - 2.49.0
 - 2.48.0
 - 2.47.0
 - 2.46.0
 - 2.45.0
 - 2.44.0
 - 2.43.0
 - 2.42.0
 - 2.41.0
 - 2.40.0
 - 2.38.0
 - 2.37.0
 - 2.36.0
 - 2.35.0
 - 2.34.0
 - 2.33.0
 - 2.32.0
 - 2.31.0
 - 2.30.0
 - 2.29.0
 - 2.28.0
 - 2.25.0
 - 2.24.0
 - 2.23.0
 - 2.22.0
 - 2.21.0
 - 2.20.0
 - 2.19.0
 - 2.18.0
 - 2.17.0
 - 2.16.0
 - 2.15.0
 - 2.14.0
 - 2.13.0
 - 2.12.0
 - 2.11.0
 - 2.10.0
 - 2.9.0
 - 2.8.0
 - 2.7.0
 - 2.6.0
 - 2.5.0
 - 2.4.10
 - 2.3.1
 - 2.2.16
 
public static final class Vulnerability.Detail.Builder extends GeneratedMessageV3.Builder<Vulnerability.Detail.Builder> implements Vulnerability.DetailOrBuilderIdentifies all appearances of this vulnerability in the package for a specific distro/location. For example: glibc in cpe:/o:debian:debian_linux:8 for versions 2.1 - 2.2
 Protobuf type grafeas.v1beta1.vulnerability.Vulnerability.Detail
Inheritance
Object > AbstractMessageLite.Builder<MessageType,BuilderType> > AbstractMessage.Builder<BuilderType> > GeneratedMessageV3.Builder > Vulnerability.Detail.BuilderImplements
Vulnerability.DetailOrBuilderStatic Methods
getDescriptor()
public static final Descriptors.Descriptor getDescriptor()| Type | Description | 
Descriptor | 
        
Methods
addRepeatedField(Descriptors.FieldDescriptor field, Object value)
public Vulnerability.Detail.Builder addRepeatedField(Descriptors.FieldDescriptor field, Object value)| Name | Description | 
field | 
        FieldDescriptor | 
      
value | 
        Object | 
      
| Type | Description | 
Vulnerability.Detail.Builder | 
        
build()
public Vulnerability.Detail build()| Type | Description | 
Vulnerability.Detail | 
        
buildPartial()
public Vulnerability.Detail buildPartial()| Type | Description | 
Vulnerability.Detail | 
        
clear()
public Vulnerability.Detail.Builder clear()| Type | Description | 
Vulnerability.Detail.Builder | 
        
clearCpeUri()
public Vulnerability.Detail.Builder clearCpeUri()Required. The CPE URI in cpe format in which the vulnerability manifests. Examples include distro or storage location for vulnerable jar.
 string cpe_uri = 1;
| Type | Description | 
Vulnerability.Detail.Builder | 
        This builder for chaining.  | 
      
clearDescription()
public Vulnerability.Detail.Builder clearDescription()A vendor-specific description of this note.
 string description = 6;
| Type | Description | 
Vulnerability.Detail.Builder | 
        This builder for chaining.  | 
      
clearField(Descriptors.FieldDescriptor field)
public Vulnerability.Detail.Builder clearField(Descriptors.FieldDescriptor field)| Name | Description | 
field | 
        FieldDescriptor | 
      
| Type | Description | 
Vulnerability.Detail.Builder | 
        
clearFixedLocation()
public Vulnerability.Detail.Builder clearFixedLocation()The fix for this specific package version.
 .grafeas.v1beta1.vulnerability.VulnerabilityLocation fixed_location = 7;
| Type | Description | 
Vulnerability.Detail.Builder | 
        
clearIsObsolete()
public Vulnerability.Detail.Builder clearIsObsolete()Whether this detail is obsolete. Occurrences are expected not to point to obsolete details.
 bool is_obsolete = 9;
| Type | Description | 
Vulnerability.Detail.Builder | 
        This builder for chaining.  | 
      
clearMaxAffectedVersion()
public Vulnerability.Detail.Builder clearMaxAffectedVersion()The max version of the package in which the vulnerability exists.
 .grafeas.v1beta1.package.Version max_affected_version = 4;
| Type | Description | 
Vulnerability.Detail.Builder | 
        
clearMinAffectedVersion()
public Vulnerability.Detail.Builder clearMinAffectedVersion()The min version of the package in which the vulnerability exists.
 .grafeas.v1beta1.package.Version min_affected_version = 3;
| Type | Description | 
Vulnerability.Detail.Builder | 
        
clearOneof(Descriptors.OneofDescriptor oneof)
public Vulnerability.Detail.Builder clearOneof(Descriptors.OneofDescriptor oneof)| Name | Description | 
oneof | 
        OneofDescriptor | 
      
| Type | Description | 
Vulnerability.Detail.Builder | 
        
clearPackage()
public Vulnerability.Detail.Builder clearPackage()Required. The name of the package where the vulnerability was found.
 string package = 2;
| Type | Description | 
Vulnerability.Detail.Builder | 
        This builder for chaining.  | 
      
clearPackageType()
public Vulnerability.Detail.Builder clearPackageType()The type of package; whether native or non native(ruby gems, node.js packages etc).
 string package_type = 8;
| Type | Description | 
Vulnerability.Detail.Builder | 
        This builder for chaining.  | 
      
clearSeverityName()
public Vulnerability.Detail.Builder clearSeverityName()The severity (eg: distro assigned severity) for this vulnerability.
 string severity_name = 5;
| Type | Description | 
Vulnerability.Detail.Builder | 
        This builder for chaining.  | 
      
clearSourceUpdateTime()
public Vulnerability.Detail.Builder clearSourceUpdateTime()The time this information was last changed at the source. This is an upstream timestamp from the underlying information source - e.g. Ubuntu security tracker.
 .google.protobuf.Timestamp source_update_time = 10;
| Type | Description | 
Vulnerability.Detail.Builder | 
        
clone()
public Vulnerability.Detail.Builder clone()| Type | Description | 
Vulnerability.Detail.Builder | 
        
getCpeUri()
public String getCpeUri()Required. The CPE URI in cpe format in which the vulnerability manifests. Examples include distro or storage location for vulnerable jar.
 string cpe_uri = 1;
| Type | Description | 
String | 
        The cpeUri.  | 
      
getCpeUriBytes()
public ByteString getCpeUriBytes()Required. The CPE URI in cpe format in which the vulnerability manifests. Examples include distro or storage location for vulnerable jar.
 string cpe_uri = 1;
| Type | Description | 
ByteString | 
        The bytes for cpeUri.  | 
      
getDefaultInstanceForType()
public Vulnerability.Detail getDefaultInstanceForType()| Type | Description | 
Vulnerability.Detail | 
        
getDescription()
public String getDescription()A vendor-specific description of this note.
 string description = 6;
| Type | Description | 
String | 
        The description.  | 
      
getDescriptionBytes()
public ByteString getDescriptionBytes()A vendor-specific description of this note.
 string description = 6;
| Type | Description | 
ByteString | 
        The bytes for description.  | 
      
getDescriptorForType()
public Descriptors.Descriptor getDescriptorForType()| Type | Description | 
Descriptor | 
        
getFixedLocation()
public VulnerabilityLocation getFixedLocation()The fix for this specific package version.
 .grafeas.v1beta1.vulnerability.VulnerabilityLocation fixed_location = 7;
| Type | Description | 
VulnerabilityLocation | 
        The fixedLocation.  | 
      
getFixedLocationBuilder()
public VulnerabilityLocation.Builder getFixedLocationBuilder()The fix for this specific package version.
 .grafeas.v1beta1.vulnerability.VulnerabilityLocation fixed_location = 7;
| Type | Description | 
VulnerabilityLocation.Builder | 
        
getFixedLocationOrBuilder()
public VulnerabilityLocationOrBuilder getFixedLocationOrBuilder()The fix for this specific package version.
 .grafeas.v1beta1.vulnerability.VulnerabilityLocation fixed_location = 7;
| Type | Description | 
VulnerabilityLocationOrBuilder | 
        
getIsObsolete()
public boolean getIsObsolete()Whether this detail is obsolete. Occurrences are expected not to point to obsolete details.
 bool is_obsolete = 9;
| Type | Description | 
boolean | 
        The isObsolete.  | 
      
getMaxAffectedVersion()
public Version getMaxAffectedVersion()The max version of the package in which the vulnerability exists.
 .grafeas.v1beta1.package.Version max_affected_version = 4;
| Type | Description | 
Version | 
        The maxAffectedVersion.  | 
      
getMaxAffectedVersionBuilder()
public Version.Builder getMaxAffectedVersionBuilder()The max version of the package in which the vulnerability exists.
 .grafeas.v1beta1.package.Version max_affected_version = 4;
| Type | Description | 
Version.Builder | 
        
getMaxAffectedVersionOrBuilder()
public VersionOrBuilder getMaxAffectedVersionOrBuilder()The max version of the package in which the vulnerability exists.
 .grafeas.v1beta1.package.Version max_affected_version = 4;
| Type | Description | 
VersionOrBuilder | 
        
getMinAffectedVersion()
public Version getMinAffectedVersion()The min version of the package in which the vulnerability exists.
 .grafeas.v1beta1.package.Version min_affected_version = 3;
| Type | Description | 
Version | 
        The minAffectedVersion.  | 
      
getMinAffectedVersionBuilder()
public Version.Builder getMinAffectedVersionBuilder()The min version of the package in which the vulnerability exists.
 .grafeas.v1beta1.package.Version min_affected_version = 3;
| Type | Description | 
Version.Builder | 
        
getMinAffectedVersionOrBuilder()
public VersionOrBuilder getMinAffectedVersionOrBuilder()The min version of the package in which the vulnerability exists.
 .grafeas.v1beta1.package.Version min_affected_version = 3;
| Type | Description | 
VersionOrBuilder | 
        
getPackage()
public String getPackage()Required. The name of the package where the vulnerability was found.
 string package = 2;
| Type | Description | 
String | 
        The package.  | 
      
getPackageBytes()
public ByteString getPackageBytes()Required. The name of the package where the vulnerability was found.
 string package = 2;
| Type | Description | 
ByteString | 
        The bytes for package.  | 
      
getPackageType()
public String getPackageType()The type of package; whether native or non native(ruby gems, node.js packages etc).
 string package_type = 8;
| Type | Description | 
String | 
        The packageType.  | 
      
getPackageTypeBytes()
public ByteString getPackageTypeBytes()The type of package; whether native or non native(ruby gems, node.js packages etc).
 string package_type = 8;
| Type | Description | 
ByteString | 
        The bytes for packageType.  | 
      
getSeverityName()
public String getSeverityName()The severity (eg: distro assigned severity) for this vulnerability.
 string severity_name = 5;
| Type | Description | 
String | 
        The severityName.  | 
      
getSeverityNameBytes()
public ByteString getSeverityNameBytes()The severity (eg: distro assigned severity) for this vulnerability.
 string severity_name = 5;
| Type | Description | 
ByteString | 
        The bytes for severityName.  | 
      
getSourceUpdateTime()
public Timestamp getSourceUpdateTime()The time this information was last changed at the source. This is an upstream timestamp from the underlying information source - e.g. Ubuntu security tracker.
 .google.protobuf.Timestamp source_update_time = 10;
| Type | Description | 
Timestamp | 
        The sourceUpdateTime.  | 
      
getSourceUpdateTimeBuilder()
public Timestamp.Builder getSourceUpdateTimeBuilder()The time this information was last changed at the source. This is an upstream timestamp from the underlying information source - e.g. Ubuntu security tracker.
 .google.protobuf.Timestamp source_update_time = 10;
| Type | Description | 
Builder | 
        
getSourceUpdateTimeOrBuilder()
public TimestampOrBuilder getSourceUpdateTimeOrBuilder()The time this information was last changed at the source. This is an upstream timestamp from the underlying information source - e.g. Ubuntu security tracker.
 .google.protobuf.Timestamp source_update_time = 10;
| Type | Description | 
TimestampOrBuilder | 
        
hasFixedLocation()
public boolean hasFixedLocation()The fix for this specific package version.
 .grafeas.v1beta1.vulnerability.VulnerabilityLocation fixed_location = 7;
| Type | Description | 
boolean | 
        Whether the fixedLocation field is set.  | 
      
hasMaxAffectedVersion()
public boolean hasMaxAffectedVersion()The max version of the package in which the vulnerability exists.
 .grafeas.v1beta1.package.Version max_affected_version = 4;
| Type | Description | 
boolean | 
        Whether the maxAffectedVersion field is set.  | 
      
hasMinAffectedVersion()
public boolean hasMinAffectedVersion()The min version of the package in which the vulnerability exists.
 .grafeas.v1beta1.package.Version min_affected_version = 3;
| Type | Description | 
boolean | 
        Whether the minAffectedVersion field is set.  | 
      
hasSourceUpdateTime()
public boolean hasSourceUpdateTime()The time this information was last changed at the source. This is an upstream timestamp from the underlying information source - e.g. Ubuntu security tracker.
 .google.protobuf.Timestamp source_update_time = 10;
| Type | Description | 
boolean | 
        Whether the sourceUpdateTime field is set.  | 
      
internalGetFieldAccessorTable()
protected GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable()| Type | Description | 
FieldAccessorTable | 
        
isInitialized()
public final boolean isInitialized()| Type | Description | 
boolean | 
        
mergeFixedLocation(VulnerabilityLocation value)
public Vulnerability.Detail.Builder mergeFixedLocation(VulnerabilityLocation value)The fix for this specific package version.
 .grafeas.v1beta1.vulnerability.VulnerabilityLocation fixed_location = 7;
| Name | Description | 
value | 
        VulnerabilityLocation | 
      
| Type | Description | 
Vulnerability.Detail.Builder | 
        
mergeFrom(CodedInputStream input, ExtensionRegistryLite extensionRegistry)
public Vulnerability.Detail.Builder mergeFrom(CodedInputStream input, ExtensionRegistryLite extensionRegistry)| Name | Description | 
input | 
        CodedInputStream | 
      
extensionRegistry | 
        ExtensionRegistryLite | 
      
| Type | Description | 
Vulnerability.Detail.Builder | 
        
| Type | Description | 
IOException | 
        
mergeFrom(Message other)
public Vulnerability.Detail.Builder mergeFrom(Message other)| Name | Description | 
other | 
        Message | 
      
| Type | Description | 
Vulnerability.Detail.Builder | 
        
mergeFrom(Vulnerability.Detail other)
public Vulnerability.Detail.Builder mergeFrom(Vulnerability.Detail other)| Name | Description | 
other | 
        Vulnerability.Detail | 
      
| Type | Description | 
Vulnerability.Detail.Builder | 
        
mergeMaxAffectedVersion(Version value)
public Vulnerability.Detail.Builder mergeMaxAffectedVersion(Version value)The max version of the package in which the vulnerability exists.
 .grafeas.v1beta1.package.Version max_affected_version = 4;
| Name | Description | 
value | 
        Version | 
      
| Type | Description | 
Vulnerability.Detail.Builder | 
        
mergeMinAffectedVersion(Version value)
public Vulnerability.Detail.Builder mergeMinAffectedVersion(Version value)The min version of the package in which the vulnerability exists.
 .grafeas.v1beta1.package.Version min_affected_version = 3;
| Name | Description | 
value | 
        Version | 
      
| Type | Description | 
Vulnerability.Detail.Builder | 
        
mergeSourceUpdateTime(Timestamp value)
public Vulnerability.Detail.Builder mergeSourceUpdateTime(Timestamp value)The time this information was last changed at the source. This is an upstream timestamp from the underlying information source - e.g. Ubuntu security tracker.
 .google.protobuf.Timestamp source_update_time = 10;
| Name | Description | 
value | 
        Timestamp | 
      
| Type | Description | 
Vulnerability.Detail.Builder | 
        
mergeUnknownFields(UnknownFieldSet unknownFields)
public final Vulnerability.Detail.Builder mergeUnknownFields(UnknownFieldSet unknownFields)| Name | Description | 
unknownFields | 
        UnknownFieldSet | 
      
| Type | Description | 
Vulnerability.Detail.Builder | 
        
setCpeUri(String value)
public Vulnerability.Detail.Builder setCpeUri(String value)Required. The CPE URI in cpe format in which the vulnerability manifests. Examples include distro or storage location for vulnerable jar.
 string cpe_uri = 1;
| Name | Description | 
value | 
        StringThe cpeUri to set.  | 
      
| Type | Description | 
Vulnerability.Detail.Builder | 
        This builder for chaining.  | 
      
setCpeUriBytes(ByteString value)
public Vulnerability.Detail.Builder setCpeUriBytes(ByteString value)Required. The CPE URI in cpe format in which the vulnerability manifests. Examples include distro or storage location for vulnerable jar.
 string cpe_uri = 1;
| Name | Description | 
value | 
        ByteStringThe bytes for cpeUri to set.  | 
      
| Type | Description | 
Vulnerability.Detail.Builder | 
        This builder for chaining.  | 
      
setDescription(String value)
public Vulnerability.Detail.Builder setDescription(String value)A vendor-specific description of this note.
 string description = 6;
| Name | Description | 
value | 
        StringThe description to set.  | 
      
| Type | Description | 
Vulnerability.Detail.Builder | 
        This builder for chaining.  | 
      
setDescriptionBytes(ByteString value)
public Vulnerability.Detail.Builder setDescriptionBytes(ByteString value)A vendor-specific description of this note.
 string description = 6;
| Name | Description | 
value | 
        ByteStringThe bytes for description to set.  | 
      
| Type | Description | 
Vulnerability.Detail.Builder | 
        This builder for chaining.  | 
      
setField(Descriptors.FieldDescriptor field, Object value)
public Vulnerability.Detail.Builder setField(Descriptors.FieldDescriptor field, Object value)| Name | Description | 
field | 
        FieldDescriptor | 
      
value | 
        Object | 
      
| Type | Description | 
Vulnerability.Detail.Builder | 
        
setFixedLocation(VulnerabilityLocation value)
public Vulnerability.Detail.Builder setFixedLocation(VulnerabilityLocation value)The fix for this specific package version.
 .grafeas.v1beta1.vulnerability.VulnerabilityLocation fixed_location = 7;
| Name | Description | 
value | 
        VulnerabilityLocation | 
      
| Type | Description | 
Vulnerability.Detail.Builder | 
        
setFixedLocation(VulnerabilityLocation.Builder builderForValue)
public Vulnerability.Detail.Builder setFixedLocation(VulnerabilityLocation.Builder builderForValue)The fix for this specific package version.
 .grafeas.v1beta1.vulnerability.VulnerabilityLocation fixed_location = 7;
| Name | Description | 
builderForValue | 
        VulnerabilityLocation.Builder | 
      
| Type | Description | 
Vulnerability.Detail.Builder | 
        
setIsObsolete(boolean value)
public Vulnerability.Detail.Builder setIsObsolete(boolean value)Whether this detail is obsolete. Occurrences are expected not to point to obsolete details.
 bool is_obsolete = 9;
| Name | Description | 
value | 
        booleanThe isObsolete to set.  | 
      
| Type | Description | 
Vulnerability.Detail.Builder | 
        This builder for chaining.  | 
      
setMaxAffectedVersion(Version value)
public Vulnerability.Detail.Builder setMaxAffectedVersion(Version value)The max version of the package in which the vulnerability exists.
 .grafeas.v1beta1.package.Version max_affected_version = 4;
| Name | Description | 
value | 
        Version | 
      
| Type | Description | 
Vulnerability.Detail.Builder | 
        
setMaxAffectedVersion(Version.Builder builderForValue)
public Vulnerability.Detail.Builder setMaxAffectedVersion(Version.Builder builderForValue)The max version of the package in which the vulnerability exists.
 .grafeas.v1beta1.package.Version max_affected_version = 4;
| Name | Description | 
builderForValue | 
        Version.Builder | 
      
| Type | Description | 
Vulnerability.Detail.Builder | 
        
setMinAffectedVersion(Version value)
public Vulnerability.Detail.Builder setMinAffectedVersion(Version value)The min version of the package in which the vulnerability exists.
 .grafeas.v1beta1.package.Version min_affected_version = 3;
| Name | Description | 
value | 
        Version | 
      
| Type | Description | 
Vulnerability.Detail.Builder | 
        
setMinAffectedVersion(Version.Builder builderForValue)
public Vulnerability.Detail.Builder setMinAffectedVersion(Version.Builder builderForValue)The min version of the package in which the vulnerability exists.
 .grafeas.v1beta1.package.Version min_affected_version = 3;
| Name | Description | 
builderForValue | 
        Version.Builder | 
      
| Type | Description | 
Vulnerability.Detail.Builder | 
        
setPackage(String value)
public Vulnerability.Detail.Builder setPackage(String value)Required. The name of the package where the vulnerability was found.
 string package = 2;
| Name | Description | 
value | 
        StringThe package to set.  | 
      
| Type | Description | 
Vulnerability.Detail.Builder | 
        This builder for chaining.  | 
      
setPackageBytes(ByteString value)
public Vulnerability.Detail.Builder setPackageBytes(ByteString value)Required. The name of the package where the vulnerability was found.
 string package = 2;
| Name | Description | 
value | 
        ByteStringThe bytes for package to set.  | 
      
| Type | Description | 
Vulnerability.Detail.Builder | 
        This builder for chaining.  | 
      
setPackageType(String value)
public Vulnerability.Detail.Builder setPackageType(String value)The type of package; whether native or non native(ruby gems, node.js packages etc).
 string package_type = 8;
| Name | Description | 
value | 
        StringThe packageType to set.  | 
      
| Type | Description | 
Vulnerability.Detail.Builder | 
        This builder for chaining.  | 
      
setPackageTypeBytes(ByteString value)
public Vulnerability.Detail.Builder setPackageTypeBytes(ByteString value)The type of package; whether native or non native(ruby gems, node.js packages etc).
 string package_type = 8;
| Name | Description | 
value | 
        ByteStringThe bytes for packageType to set.  | 
      
| Type | Description | 
Vulnerability.Detail.Builder | 
        This builder for chaining.  | 
      
setRepeatedField(Descriptors.FieldDescriptor field, int index, Object value)
public Vulnerability.Detail.Builder setRepeatedField(Descriptors.FieldDescriptor field, int index, Object value)| Name | Description | 
field | 
        FieldDescriptor | 
      
index | 
        int | 
      
value | 
        Object | 
      
| Type | Description | 
Vulnerability.Detail.Builder | 
        
setSeverityName(String value)
public Vulnerability.Detail.Builder setSeverityName(String value)The severity (eg: distro assigned severity) for this vulnerability.
 string severity_name = 5;
| Name | Description | 
value | 
        StringThe severityName to set.  | 
      
| Type | Description | 
Vulnerability.Detail.Builder | 
        This builder for chaining.  | 
      
setSeverityNameBytes(ByteString value)
public Vulnerability.Detail.Builder setSeverityNameBytes(ByteString value)The severity (eg: distro assigned severity) for this vulnerability.
 string severity_name = 5;
| Name | Description | 
value | 
        ByteStringThe bytes for severityName to set.  | 
      
| Type | Description | 
Vulnerability.Detail.Builder | 
        This builder for chaining.  | 
      
setSourceUpdateTime(Timestamp value)
public Vulnerability.Detail.Builder setSourceUpdateTime(Timestamp value)The time this information was last changed at the source. This is an upstream timestamp from the underlying information source - e.g. Ubuntu security tracker.
 .google.protobuf.Timestamp source_update_time = 10;
| Name | Description | 
value | 
        Timestamp | 
      
| Type | Description | 
Vulnerability.Detail.Builder | 
        
setSourceUpdateTime(Timestamp.Builder builderForValue)
public Vulnerability.Detail.Builder setSourceUpdateTime(Timestamp.Builder builderForValue)The time this information was last changed at the source. This is an upstream timestamp from the underlying information source - e.g. Ubuntu security tracker.
 .google.protobuf.Timestamp source_update_time = 10;
| Name | Description | 
builderForValue | 
        Builder | 
      
| Type | Description | 
Vulnerability.Detail.Builder | 
        
setUnknownFields(UnknownFieldSet unknownFields)
public final Vulnerability.Detail.Builder setUnknownFields(UnknownFieldSet unknownFields)| Name | Description | 
unknownFields | 
        UnknownFieldSet | 
      
| Type | Description | 
Vulnerability.Detail.Builder |