@CodingStyleguideUnaware public class ServiceLevelAgreementType extends Object implements Serializable, com.helger.commons.lang.IExplicitlyCloneable
| Constructor and Description |
|---|
ServiceLevelAgreementType()
Default constructor<br>
Note: automatically created by ph-jaxb22-plugin -Xph-value-extender
|
| Modifier and Type | Method and Description |
|---|---|
void |
addServiceAvailabilityPeriod(PeriodType elem)
Created by ph-jaxb22-plugin -Xph-list-extension
|
void |
addServiceMaintenancePeriod(PeriodType elem)
Created by ph-jaxb22-plugin -Xph-list-extension
|
void |
addServiceType(ServiceTypeType elem)
Created by ph-jaxb22-plugin -Xph-list-extension
|
ServiceLevelAgreementType |
clone()
Created by ph-jaxb22-plugin -Xph-cloneable2
|
void |
cloneTo(ServiceLevelAgreementType ret)
This method clones all values from <code>this</code> to the passed object.
|
boolean |
equals(Object o)
Created by ph-jaxb22-plugin -Xph-equalshashcode
|
AvailabilityTimePercentType |
getAvailabilityTimePercent()
<pre>
<?
|
BigDecimal |
getAvailabilityTimePercentValue()
Get the value of the contained AvailabilityTimePercentType object<br>
Note: automatically created by ph-jaxb22-plugin -Xph-value-extender
|
FridayAvailabilityIndicatorType |
getFridayAvailabilityIndicator()
<pre>
<?
|
IDType |
getID()
<pre>
<?
|
String |
getIDValue()
Get the value of the contained IDType object<br>
Note: automatically created by ph-jaxb22-plugin -Xph-value-extender
|
MaximumDataLossDurationMeasureType |
getMaximumDataLossDurationMeasure()
<pre>
<?
|
BigDecimal |
getMaximumDataLossDurationMeasureValue()
Get the value of the contained MaximumDataLossDurationMeasureType object<br>
Note: automatically created by ph-jaxb22-plugin -Xph-value-extender
|
MaximumIncidentNotificationDurationMeasureType |
getMaximumIncidentNotificationDurationMeasure()
<pre>
<?
|
BigDecimal |
getMaximumIncidentNotificationDurationMeasureValue()
Get the value of the contained MaximumIncidentNotificationDurationMeasureType object<br>
Note: automatically created by ph-jaxb22-plugin -Xph-value-extender
|
MeanTimeToRecoverDurationMeasureType |
getMeanTimeToRecoverDurationMeasure()
<pre>
<?
|
BigDecimal |
getMeanTimeToRecoverDurationMeasureValue()
Get the value of the contained MeanTimeToRecoverDurationMeasureType object<br>
Note: automatically created by ph-jaxb22-plugin -Xph-value-extender
|
MinimumDownTimeScheduleDurationMeasureType |
getMinimumDownTimeScheduleDurationMeasure()
<pre>
<?
|
BigDecimal |
getMinimumDownTimeScheduleDurationMeasureValue()
Get the value of the contained MinimumDownTimeScheduleDurationMeasureType object<br>
Note: automatically created by ph-jaxb22-plugin -Xph-value-extender
|
MinimumResponseTimeDurationMeasureType |
getMinimumResponseTimeDurationMeasure()
<pre>
<?
|
BigDecimal |
getMinimumResponseTimeDurationMeasureValue()
Get the value of the contained MinimumResponseTimeDurationMeasureType object<br>
Note: automatically created by ph-jaxb22-plugin -Xph-value-extender
|
MondayAvailabilityIndicatorType |
getMondayAvailabilityIndicator()
<pre>
<?
|
SaturdayAvailabilityIndicatorType |
getSaturdayAvailabilityIndicator()
<pre>
<?
|
List<PeriodType> |
getServiceAvailabilityPeriod()
<pre>
<?
|
PeriodType |
getServiceAvailabilityPeriodAtIndex(int index)
Created by ph-jaxb22-plugin -Xph-list-extension
|
int |
getServiceAvailabilityPeriodCount()
Created by ph-jaxb22-plugin -Xph-list-extension
|
List<PeriodType> |
getServiceMaintenancePeriod()
<pre>
<?
|
PeriodType |
getServiceMaintenancePeriodAtIndex(int index)
Created by ph-jaxb22-plugin -Xph-list-extension
|
int |
getServiceMaintenancePeriodCount()
Created by ph-jaxb22-plugin -Xph-list-extension
|
List<ServiceTypeType> |
getServiceType()
<pre>
<?
|
ServiceTypeType |
getServiceTypeAtIndex(int index)
Created by ph-jaxb22-plugin -Xph-list-extension
|
ServiceTypeCodeType |
getServiceTypeCode()
<pre>
<?
|
String |
getServiceTypeCodeValue()
Get the value of the contained ServiceTypeCodeType object<br>
Note: automatically created by ph-jaxb22-plugin -Xph-value-extender
|
int |
getServiceTypeCount()
Created by ph-jaxb22-plugin -Xph-list-extension
|
SundayAvailabilityIndicatorType |
getSundayAvailabilityIndicator()
<pre>
<?
|
ThursdayAvailabilityIndicatorType |
getThursdayAvailabilityIndicator()
<pre>
<?
|
TuesdayAvailabilityIndicatorType |
getTuesdayAvailabilityIndicator()
<pre>
<?
|
WednesdayAvailabilityIndicatorType |
getWednesdayAvailabilityIndicator()
<pre>
<?
|
int |
hashCode()
Created by ph-jaxb22-plugin -Xph-equalshashcode
|
boolean |
hasNoServiceAvailabilityPeriodEntries()
Created by ph-jaxb22-plugin -Xph-list-extension
|
boolean |
hasNoServiceMaintenancePeriodEntries()
Created by ph-jaxb22-plugin -Xph-list-extension
|
boolean |
hasNoServiceTypeEntries()
Created by ph-jaxb22-plugin -Xph-list-extension
|
boolean |
hasServiceAvailabilityPeriodEntries()
Created by ph-jaxb22-plugin -Xph-list-extension
|
boolean |
hasServiceMaintenancePeriodEntries()
Created by ph-jaxb22-plugin -Xph-list-extension
|
boolean |
hasServiceTypeEntries()
Created by ph-jaxb22-plugin -Xph-list-extension
|
boolean |
isFridayAvailabilityIndicatorValue(boolean nullValue)
Get the value of the contained FridayAvailabilityIndicatorType object<br>
Note: automatically created by ph-jaxb22-plugin -Xph-value-extender
|
boolean |
isMondayAvailabilityIndicatorValue(boolean nullValue)
Get the value of the contained MondayAvailabilityIndicatorType object<br>
Note: automatically created by ph-jaxb22-plugin -Xph-value-extender
|
boolean |
isSaturdayAvailabilityIndicatorValue(boolean nullValue)
Get the value of the contained SaturdayAvailabilityIndicatorType object<br>
Note: automatically created by ph-jaxb22-plugin -Xph-value-extender
|
boolean |
isSundayAvailabilityIndicatorValue(boolean nullValue)
Get the value of the contained SundayAvailabilityIndicatorType object<br>
Note: automatically created by ph-jaxb22-plugin -Xph-value-extender
|
boolean |
isThursdayAvailabilityIndicatorValue(boolean nullValue)
Get the value of the contained ThursdayAvailabilityIndicatorType object<br>
Note: automatically created by ph-jaxb22-plugin -Xph-value-extender
|
boolean |
isTuesdayAvailabilityIndicatorValue(boolean nullValue)
Get the value of the contained TuesdayAvailabilityIndicatorType object<br>
Note: automatically created by ph-jaxb22-plugin -Xph-value-extender
|
boolean |
isWednesdayAvailabilityIndicatorValue(boolean nullValue)
Get the value of the contained WednesdayAvailabilityIndicatorType object<br>
Note: automatically created by ph-jaxb22-plugin -Xph-value-extender
|
void |
setAvailabilityTimePercent(AvailabilityTimePercentType value)
Sets the value of the availabilityTimePercent property.
|
AvailabilityTimePercentType |
setAvailabilityTimePercent(BigDecimal valueParam)
Special setter with value of type BigDecimal<br>
Note: automatically created by ph-jaxb22-plugin -Xph-value-extender
|
FridayAvailabilityIndicatorType |
setFridayAvailabilityIndicator(boolean valueParam)
Special setter with value of type boolean<br>
Note: automatically created by ph-jaxb22-plugin -Xph-value-extender
|
void |
setFridayAvailabilityIndicator(FridayAvailabilityIndicatorType value)
Sets the value of the fridayAvailabilityIndicator property.
|
void |
setID(IDType value)
Sets the value of the id property.
|
IDType |
setID(String valueParam)
Special setter with value of type String<br>
Note: automatically created by ph-jaxb22-plugin -Xph-value-extender
|
MaximumDataLossDurationMeasureType |
setMaximumDataLossDurationMeasure(BigDecimal valueParam)
Special setter with value of type BigDecimal<br>
Note: automatically created by ph-jaxb22-plugin -Xph-value-extender
|
void |
setMaximumDataLossDurationMeasure(MaximumDataLossDurationMeasureType value)
Sets the value of the maximumDataLossDurationMeasure property.
|
MaximumIncidentNotificationDurationMeasureType |
setMaximumIncidentNotificationDurationMeasure(BigDecimal valueParam)
Special setter with value of type BigDecimal<br>
Note: automatically created by ph-jaxb22-plugin -Xph-value-extender
|
void |
setMaximumIncidentNotificationDurationMeasure(MaximumIncidentNotificationDurationMeasureType value)
Sets the value of the maximumIncidentNotificationDurationMeasure property.
|
MeanTimeToRecoverDurationMeasureType |
setMeanTimeToRecoverDurationMeasure(BigDecimal valueParam)
Special setter with value of type BigDecimal<br>
Note: automatically created by ph-jaxb22-plugin -Xph-value-extender
|
void |
setMeanTimeToRecoverDurationMeasure(MeanTimeToRecoverDurationMeasureType value)
Sets the value of the meanTimeToRecoverDurationMeasure property.
|
MinimumDownTimeScheduleDurationMeasureType |
setMinimumDownTimeScheduleDurationMeasure(BigDecimal valueParam)
Special setter with value of type BigDecimal<br>
Note: automatically created by ph-jaxb22-plugin -Xph-value-extender
|
void |
setMinimumDownTimeScheduleDurationMeasure(MinimumDownTimeScheduleDurationMeasureType value)
Sets the value of the minimumDownTimeScheduleDurationMeasure property.
|
MinimumResponseTimeDurationMeasureType |
setMinimumResponseTimeDurationMeasure(BigDecimal valueParam)
Special setter with value of type BigDecimal<br>
Note: automatically created by ph-jaxb22-plugin -Xph-value-extender
|
void |
setMinimumResponseTimeDurationMeasure(MinimumResponseTimeDurationMeasureType value)
Sets the value of the minimumResponseTimeDurationMeasure property.
|
MondayAvailabilityIndicatorType |
setMondayAvailabilityIndicator(boolean valueParam)
Special setter with value of type boolean<br>
Note: automatically created by ph-jaxb22-plugin -Xph-value-extender
|
void |
setMondayAvailabilityIndicator(MondayAvailabilityIndicatorType value)
Sets the value of the mondayAvailabilityIndicator property.
|
SaturdayAvailabilityIndicatorType |
setSaturdayAvailabilityIndicator(boolean valueParam)
Special setter with value of type boolean<br>
Note: automatically created by ph-jaxb22-plugin -Xph-value-extender
|
void |
setSaturdayAvailabilityIndicator(SaturdayAvailabilityIndicatorType value)
Sets the value of the saturdayAvailabilityIndicator property.
|
void |
setServiceAvailabilityPeriod(List<PeriodType> aList)
Created by ph-jaxb22-plugin -Xph-list-extension
|
void |
setServiceMaintenancePeriod(List<PeriodType> aList)
Created by ph-jaxb22-plugin -Xph-list-extension
|
void |
setServiceType(List<ServiceTypeType> aList)
Created by ph-jaxb22-plugin -Xph-list-extension
|
void |
setServiceTypeCode(ServiceTypeCodeType value)
Sets the value of the serviceTypeCode property.
|
ServiceTypeCodeType |
setServiceTypeCode(String valueParam)
Special setter with value of type String<br>
Note: automatically created by ph-jaxb22-plugin -Xph-value-extender
|
SundayAvailabilityIndicatorType |
setSundayAvailabilityIndicator(boolean valueParam)
Special setter with value of type boolean<br>
Note: automatically created by ph-jaxb22-plugin -Xph-value-extender
|
void |
setSundayAvailabilityIndicator(SundayAvailabilityIndicatorType value)
Sets the value of the sundayAvailabilityIndicator property.
|
ThursdayAvailabilityIndicatorType |
setThursdayAvailabilityIndicator(boolean valueParam)
Special setter with value of type boolean<br>
Note: automatically created by ph-jaxb22-plugin -Xph-value-extender
|
void |
setThursdayAvailabilityIndicator(ThursdayAvailabilityIndicatorType value)
Sets the value of the thursdayAvailabilityIndicator property.
|
TuesdayAvailabilityIndicatorType |
setTuesdayAvailabilityIndicator(boolean valueParam)
Special setter with value of type boolean<br>
Note: automatically created by ph-jaxb22-plugin -Xph-value-extender
|
void |
setTuesdayAvailabilityIndicator(TuesdayAvailabilityIndicatorType value)
Sets the value of the tuesdayAvailabilityIndicator property.
|
WednesdayAvailabilityIndicatorType |
setWednesdayAvailabilityIndicator(boolean valueParam)
Special setter with value of type boolean<br>
Note: automatically created by ph-jaxb22-plugin -Xph-value-extender
|
void |
setWednesdayAvailabilityIndicator(WednesdayAvailabilityIndicatorType value)
Sets the value of the wednesdayAvailabilityIndicator property.
|
String |
toString()
Created by ph-jaxb22-plugin -Xph-tostring
|
public ServiceLevelAgreementType()
@Nullable public IDType getID()
IDTypepublic void setID(@Nullable IDType value)
value - allowed object is
IDType@Nullable public ServiceTypeCodeType getServiceTypeCode()
ServiceTypeCodeTypepublic void setServiceTypeCode(@Nullable ServiceTypeCodeType value)
value - allowed object is
ServiceTypeCodeType@Nonnull @ReturnsMutableObject(value="JAXB implementation style") public List<ServiceTypeType> getServiceType()
ServiceTypeType@Nullable public AvailabilityTimePercentType getAvailabilityTimePercent()
AvailabilityTimePercentTypepublic void setAvailabilityTimePercent(@Nullable AvailabilityTimePercentType value)
value - allowed object is
AvailabilityTimePercentType@Nullable public MondayAvailabilityIndicatorType getMondayAvailabilityIndicator()
MondayAvailabilityIndicatorTypepublic void setMondayAvailabilityIndicator(@Nullable MondayAvailabilityIndicatorType value)
value - allowed object is
MondayAvailabilityIndicatorType@Nullable public TuesdayAvailabilityIndicatorType getTuesdayAvailabilityIndicator()
TuesdayAvailabilityIndicatorTypepublic void setTuesdayAvailabilityIndicator(@Nullable TuesdayAvailabilityIndicatorType value)
value - allowed object is
TuesdayAvailabilityIndicatorType@Nullable public WednesdayAvailabilityIndicatorType getWednesdayAvailabilityIndicator()
WednesdayAvailabilityIndicatorTypepublic void setWednesdayAvailabilityIndicator(@Nullable WednesdayAvailabilityIndicatorType value)
value - allowed object is
WednesdayAvailabilityIndicatorType@Nullable public ThursdayAvailabilityIndicatorType getThursdayAvailabilityIndicator()
ThursdayAvailabilityIndicatorTypepublic void setThursdayAvailabilityIndicator(@Nullable ThursdayAvailabilityIndicatorType value)
value - allowed object is
ThursdayAvailabilityIndicatorType@Nullable public FridayAvailabilityIndicatorType getFridayAvailabilityIndicator()
FridayAvailabilityIndicatorTypepublic void setFridayAvailabilityIndicator(@Nullable FridayAvailabilityIndicatorType value)
value - allowed object is
FridayAvailabilityIndicatorType@Nullable public SaturdayAvailabilityIndicatorType getSaturdayAvailabilityIndicator()
SaturdayAvailabilityIndicatorTypepublic void setSaturdayAvailabilityIndicator(@Nullable SaturdayAvailabilityIndicatorType value)
value - allowed object is
SaturdayAvailabilityIndicatorType@Nullable public SundayAvailabilityIndicatorType getSundayAvailabilityIndicator()
SundayAvailabilityIndicatorTypepublic void setSundayAvailabilityIndicator(@Nullable SundayAvailabilityIndicatorType value)
value - allowed object is
SundayAvailabilityIndicatorType@Nullable public MinimumResponseTimeDurationMeasureType getMinimumResponseTimeDurationMeasure()
MinimumResponseTimeDurationMeasureTypepublic void setMinimumResponseTimeDurationMeasure(@Nullable MinimumResponseTimeDurationMeasureType value)
value - allowed object is
MinimumResponseTimeDurationMeasureType@Nullable public MinimumDownTimeScheduleDurationMeasureType getMinimumDownTimeScheduleDurationMeasure()
MinimumDownTimeScheduleDurationMeasureTypepublic void setMinimumDownTimeScheduleDurationMeasure(@Nullable MinimumDownTimeScheduleDurationMeasureType value)
value - allowed object is
MinimumDownTimeScheduleDurationMeasureType@Nullable public MaximumIncidentNotificationDurationMeasureType getMaximumIncidentNotificationDurationMeasure()
MaximumIncidentNotificationDurationMeasureTypepublic void setMaximumIncidentNotificationDurationMeasure(@Nullable MaximumIncidentNotificationDurationMeasureType value)
value - allowed object is
MaximumIncidentNotificationDurationMeasureType@Nullable public MaximumDataLossDurationMeasureType getMaximumDataLossDurationMeasure()
MaximumDataLossDurationMeasureTypepublic void setMaximumDataLossDurationMeasure(@Nullable MaximumDataLossDurationMeasureType value)
value - allowed object is
MaximumDataLossDurationMeasureType@Nullable public MeanTimeToRecoverDurationMeasureType getMeanTimeToRecoverDurationMeasure()
MeanTimeToRecoverDurationMeasureTypepublic void setMeanTimeToRecoverDurationMeasure(@Nullable MeanTimeToRecoverDurationMeasureType value)
value - allowed object is
MeanTimeToRecoverDurationMeasureType@Nonnull @ReturnsMutableObject(value="JAXB implementation style") public List<PeriodType> getServiceAvailabilityPeriod()
PeriodType@Nonnull @ReturnsMutableObject(value="JAXB implementation style") public List<PeriodType> getServiceMaintenancePeriod()
PeriodTypepublic boolean equals(Object o)
public int hashCode()
public String toString()
public void setServiceType(@Nullable List<ServiceTypeType> aList)
aList - The new list member to set. May be <code>null</code>.public void setServiceAvailabilityPeriod(@Nullable List<PeriodType> aList)
aList - The new list member to set. May be <code>null</code>.public void setServiceMaintenancePeriod(@Nullable List<PeriodType> aList)
aList - The new list member to set. May be <code>null</code>.public boolean hasServiceTypeEntries()
public boolean hasNoServiceTypeEntries()
@Nonnegative public int getServiceTypeCount()
@Nullable public ServiceTypeType getServiceTypeAtIndex(@Nonnegative int index) throws IndexOutOfBoundsException
index - The index to retrieveIndexOutOfBoundsException - if the index is invalid!public void addServiceType(@Nonnull ServiceTypeType elem)
elem - The element to be added. May not be <code>null</code>.public boolean hasServiceAvailabilityPeriodEntries()
public boolean hasNoServiceAvailabilityPeriodEntries()
@Nonnegative public int getServiceAvailabilityPeriodCount()
@Nullable public PeriodType getServiceAvailabilityPeriodAtIndex(@Nonnegative int index) throws IndexOutOfBoundsException
index - The index to retrieveIndexOutOfBoundsException - if the index is invalid!public void addServiceAvailabilityPeriod(@Nonnull PeriodType elem)
elem - The element to be added. May not be <code>null</code>.public boolean hasServiceMaintenancePeriodEntries()
public boolean hasNoServiceMaintenancePeriodEntries()
@Nonnegative public int getServiceMaintenancePeriodCount()
@Nullable public PeriodType getServiceMaintenancePeriodAtIndex(@Nonnegative int index) throws IndexOutOfBoundsException
index - The index to retrieveIndexOutOfBoundsException - if the index is invalid!public void addServiceMaintenancePeriod(@Nonnull PeriodType elem)
elem - The element to be added. May not be <code>null</code>.public void cloneTo(@Nonnull ServiceLevelAgreementType ret)
ret - The target object to clone to. May not be <code>null</code>.@Nonnull @ReturnsMutableCopy public ServiceLevelAgreementType clone()
@Nonnull public ServiceTypeCodeType setServiceTypeCode(@Nullable String valueParam)
valueParam - The value to be set. May be <code>null</code>.@Nonnull public IDType setID(@Nullable String valueParam)
valueParam - The value to be set. May be <code>null</code>.@Nonnull public MondayAvailabilityIndicatorType setMondayAvailabilityIndicator(boolean valueParam)
valueParam - The value to be set.@Nonnull public TuesdayAvailabilityIndicatorType setTuesdayAvailabilityIndicator(boolean valueParam)
valueParam - The value to be set.@Nonnull public WednesdayAvailabilityIndicatorType setWednesdayAvailabilityIndicator(boolean valueParam)
valueParam - The value to be set.@Nonnull public ThursdayAvailabilityIndicatorType setThursdayAvailabilityIndicator(boolean valueParam)
valueParam - The value to be set.@Nonnull public FridayAvailabilityIndicatorType setFridayAvailabilityIndicator(boolean valueParam)
valueParam - The value to be set.@Nonnull public SaturdayAvailabilityIndicatorType setSaturdayAvailabilityIndicator(boolean valueParam)
valueParam - The value to be set.@Nonnull public SundayAvailabilityIndicatorType setSundayAvailabilityIndicator(boolean valueParam)
valueParam - The value to be set.@Nonnull public MinimumResponseTimeDurationMeasureType setMinimumResponseTimeDurationMeasure(@Nullable BigDecimal valueParam)
valueParam - The value to be set. May be <code>null</code>.@Nonnull public MinimumDownTimeScheduleDurationMeasureType setMinimumDownTimeScheduleDurationMeasure(@Nullable BigDecimal valueParam)
valueParam - The value to be set. May be <code>null</code>.@Nonnull public MaximumIncidentNotificationDurationMeasureType setMaximumIncidentNotificationDurationMeasure(@Nullable BigDecimal valueParam)
valueParam - The value to be set. May be <code>null</code>.@Nonnull public MaximumDataLossDurationMeasureType setMaximumDataLossDurationMeasure(@Nullable BigDecimal valueParam)
valueParam - The value to be set. May be <code>null</code>.@Nonnull public MeanTimeToRecoverDurationMeasureType setMeanTimeToRecoverDurationMeasure(@Nullable BigDecimal valueParam)
valueParam - The value to be set. May be <code>null</code>.@Nonnull public AvailabilityTimePercentType setAvailabilityTimePercent(@Nullable BigDecimal valueParam)
valueParam - The value to be set. May be <code>null</code>.@Nullable public String getIDValue()
@Nullable public String getServiceTypeCodeValue()
@Nullable public BigDecimal getAvailabilityTimePercentValue()
public boolean isMondayAvailabilityIndicatorValue(boolean nullValue)
nullValue - The value to be returned, if the owning object is <code>null</code>public boolean isTuesdayAvailabilityIndicatorValue(boolean nullValue)
nullValue - The value to be returned, if the owning object is <code>null</code>public boolean isWednesdayAvailabilityIndicatorValue(boolean nullValue)
nullValue - The value to be returned, if the owning object is <code>null</code>public boolean isThursdayAvailabilityIndicatorValue(boolean nullValue)
nullValue - The value to be returned, if the owning object is <code>null</code>public boolean isFridayAvailabilityIndicatorValue(boolean nullValue)
nullValue - The value to be returned, if the owning object is <code>null</code>public boolean isSaturdayAvailabilityIndicatorValue(boolean nullValue)
nullValue - The value to be returned, if the owning object is <code>null</code>public boolean isSundayAvailabilityIndicatorValue(boolean nullValue)
nullValue - The value to be returned, if the owning object is <code>null</code>@Nullable public BigDecimal getMinimumResponseTimeDurationMeasureValue()
@Nullable public BigDecimal getMinimumDownTimeScheduleDurationMeasureValue()
@Nullable public BigDecimal getMaximumIncidentNotificationDurationMeasureValue()
@Nullable public BigDecimal getMaximumDataLossDurationMeasureValue()
@Nullable public BigDecimal getMeanTimeToRecoverDurationMeasureValue()
Copyright © 2017–2021 Philip Helger. All rights reserved.