Class DiagnosisKeyBuilder
- java.lang.Object
-
- app.coronawarn.server.common.persistence.domain.DiagnosisKeyBuilder
-
- All Implemented Interfaces:
app.coronawarn.server.common.persistence.domain.DiagnosisKeyBuilders.Builder,app.coronawarn.server.common.persistence.domain.DiagnosisKeyBuilders.FinalBuilder,app.coronawarn.server.common.persistence.domain.DiagnosisKeyBuilders.RollingStartIntervalNumberBuilder,app.coronawarn.server.common.persistence.domain.DiagnosisKeyBuilders.TransmissionRiskLevelBuilder
public class DiagnosisKeyBuilder extends Object implements app.coronawarn.server.common.persistence.domain.DiagnosisKeyBuilders.Builder, app.coronawarn.server.common.persistence.domain.DiagnosisKeyBuilders.RollingStartIntervalNumberBuilder, app.coronawarn.server.common.persistence.domain.DiagnosisKeyBuilders.TransmissionRiskLevelBuilder, app.coronawarn.server.common.persistence.domain.DiagnosisKeyBuilders.FinalBuilder
An instance of this builder can be retrieved by callingDiagnosisKey.builder(). ADiagnosisKeycan then be build by either providing the required member values or by passing the respective protocol buffer object.
-
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description DiagnosisKeybuild()Builds aDiagnosisKeyinstance.app.coronawarn.server.common.persistence.domain.DiagnosisKeyBuilders.FinalBuilderfromProtoBuf(TemporaryExposureKey protoBufObject)Adds the data contained in the specified protocol buffers key object to this builder.app.coronawarn.server.common.persistence.domain.DiagnosisKeyBuilders.RollingStartIntervalNumberBuilderwithKeyData(byte[] keyData)Adds the specified key data to this builder.app.coronawarn.server.common.persistence.domain.DiagnosisKeyBuilders.FinalBuilderwithRollingPeriod(int rollingPeriod)Adds the specified rolling period to this builder.app.coronawarn.server.common.persistence.domain.DiagnosisKeyBuilders.TransmissionRiskLevelBuilderwithRollingStartIntervalNumber(int rollingStartIntervalNumber)Adds the specified rolling start interval number to this builder.app.coronawarn.server.common.persistence.domain.DiagnosisKeyBuilders.FinalBuilderwithSubmissionTimestamp(long submissionTimestamp)Adds the specified submission timestamp that is expected to represent hours since epoch.app.coronawarn.server.common.persistence.domain.DiagnosisKeyBuilders.FinalBuilderwithTransmissionRiskLevel(int transmissionRiskLevel)Adds the specified transmission risk level to this builder.
-
-
-
Method Detail
-
withKeyData
public app.coronawarn.server.common.persistence.domain.DiagnosisKeyBuilders.RollingStartIntervalNumberBuilder withKeyData(byte[] keyData)
Description copied from interface:app.coronawarn.server.common.persistence.domain.DiagnosisKeyBuilders.BuilderAdds the specified key data to this builder.- Specified by:
withKeyDatain interfaceapp.coronawarn.server.common.persistence.domain.DiagnosisKeyBuilders.Builder- Parameters:
keyData- generated diagnosis key.- Returns:
- this Builder instance.
-
withRollingStartIntervalNumber
public app.coronawarn.server.common.persistence.domain.DiagnosisKeyBuilders.TransmissionRiskLevelBuilder withRollingStartIntervalNumber(int rollingStartIntervalNumber)
Description copied from interface:app.coronawarn.server.common.persistence.domain.DiagnosisKeyBuilders.RollingStartIntervalNumberBuilderAdds the specified rolling start interval number to this builder.- Specified by:
withRollingStartIntervalNumberin interfaceapp.coronawarn.server.common.persistence.domain.DiagnosisKeyBuilders.RollingStartIntervalNumberBuilder- Parameters:
rollingStartIntervalNumber- number describing when a key starts. It is equal to startTimeOfKeySinceEpochInSecs / (60 * 10).- Returns:
- this Builder instance.
-
withTransmissionRiskLevel
public app.coronawarn.server.common.persistence.domain.DiagnosisKeyBuilders.FinalBuilder withTransmissionRiskLevel(int transmissionRiskLevel)
Description copied from interface:app.coronawarn.server.common.persistence.domain.DiagnosisKeyBuilders.TransmissionRiskLevelBuilderAdds the specified transmission risk level to this builder.- Specified by:
withTransmissionRiskLevelin interfaceapp.coronawarn.server.common.persistence.domain.DiagnosisKeyBuilders.TransmissionRiskLevelBuilder- Parameters:
transmissionRiskLevel- risk of transmission associated with the person this key came from.- Returns:
- this Builder instance.
-
fromProtoBuf
public app.coronawarn.server.common.persistence.domain.DiagnosisKeyBuilders.FinalBuilder fromProtoBuf(TemporaryExposureKey protoBufObject)
Description copied from interface:app.coronawarn.server.common.persistence.domain.DiagnosisKeyBuilders.BuilderAdds the data contained in the specified protocol buffers key object to this builder.- Specified by:
fromProtoBufin interfaceapp.coronawarn.server.common.persistence.domain.DiagnosisKeyBuilders.Builder- Parameters:
protoBufObject- ProtocolBuffer object associated with the temporary exposure key.- Returns:
- this Builder instance.
-
withSubmissionTimestamp
public app.coronawarn.server.common.persistence.domain.DiagnosisKeyBuilders.FinalBuilder withSubmissionTimestamp(long submissionTimestamp)
Description copied from interface:app.coronawarn.server.common.persistence.domain.DiagnosisKeyBuilders.FinalBuilderAdds the specified submission timestamp that is expected to represent hours since epoch.- Specified by:
withSubmissionTimestampin interfaceapp.coronawarn.server.common.persistence.domain.DiagnosisKeyBuilders.FinalBuilder- Parameters:
submissionTimestamp- timestamp in hours since epoch.- Returns:
- this Builder instance.
-
withRollingPeriod
public app.coronawarn.server.common.persistence.domain.DiagnosisKeyBuilders.FinalBuilder withRollingPeriod(int rollingPeriod)
Description copied from interface:app.coronawarn.server.common.persistence.domain.DiagnosisKeyBuilders.FinalBuilderAdds the specified rolling period to this builder. If not specified, the rolling period defaults toDiagnosisKey.MAX_ROLLING_PERIOD- Specified by:
withRollingPeriodin interfaceapp.coronawarn.server.common.persistence.domain.DiagnosisKeyBuilders.FinalBuilder- Parameters:
rollingPeriod- Number describing how long a key is valid. It is expressed in increments of 10 minutes (e.g. 144 for 24 hours).- Returns:
- this Builder instance.
-
build
public DiagnosisKey build()
Description copied from interface:app.coronawarn.server.common.persistence.domain.DiagnosisKeyBuilders.FinalBuilderBuilds aDiagnosisKeyinstance. If no submission timestamp has been specified it will be set to "now" as hours since epoch.- Specified by:
buildin interfaceapp.coronawarn.server.common.persistence.domain.DiagnosisKeyBuilders.FinalBuilder
-
-