Package hydra.build.format
Class PackageValidationConfiguration
- java.lang.Object
-
- hydra.build.format.PackageValidationConfiguration
-
- All Implemented Interfaces:
java.io.Serializable,java.lang.Comparable<PackageValidationConfiguration>
public class PackageValidationConfiguration extends java.lang.Object implements java.io.Serializable, java.lang.Comparable<PackageValidationConfiguration>
The full, opt-in validation configuration for a package, as declared in its package descriptor. Every field cascades optional; an absent field means the corresponding rule family is not configured and the validation engine's defaults apply.- See Also:
- Serialized Form
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classPackageValidationConfiguration.BuilderA fluent builder forPackageValidationConfiguration.
-
Field Summary
Fields Modifier and Type Field Description Optional<ModuleValidationProfile>moduleValidation rules applying to each modulestatic NameMODULEName of thehydra.build.format.PackageValidationConfiguration.modulefield.static NamePACKAGEName of thehydra.build.format.PackageValidationConfiguration.packagefield.Optional<PackageValidationProfile>package_Validation rules applying to the package as a wholeOptional<TermValidationProfile>termValidation rules applying to term-definition bodiesstatic NameTERMName of thehydra.build.format.PackageValidationConfiguration.termfield.Optional<TypeValidationProfile>typeValidation rules applying to type-definition bodiesstatic NameTYPEName of thehydra.build.format.PackageValidationConfiguration.typefield.static NameTYPE_Name of thehydra.build.format.PackageValidationConfigurationtype.
-
Constructor Summary
Constructors Constructor Description PackageValidationConfiguration(Optional<PackageValidationProfile> package_, Optional<ModuleValidationProfile> module, Optional<TypeValidationProfile> type, Optional<TermValidationProfile> term)Constructs an immutablePackageValidationConfiguration.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static PackageValidationConfiguration.Builderbuilder()Creates a new fluent builder forPackageValidationConfiguration.intcompareTo(PackageValidationConfiguration other)booleanequals(java.lang.Object other)inthashCode()java.lang.StringtoString()PackageValidationConfigurationwithModule(Optional<ModuleValidationProfile> module)Returns a copy of thisPackageValidationConfigurationwithmodulereplaced.PackageValidationConfigurationwithPackage(Optional<PackageValidationProfile> package_)Returns a copy of thisPackageValidationConfigurationwithpackagereplaced.PackageValidationConfigurationwithTerm(Optional<TermValidationProfile> term)Returns a copy of thisPackageValidationConfigurationwithtermreplaced.PackageValidationConfigurationwithType(Optional<TypeValidationProfile> type)Returns a copy of thisPackageValidationConfigurationwithtypereplaced.
-
-
-
Field Detail
-
TYPE_
public static final Name TYPE_
Name of thehydra.build.format.PackageValidationConfigurationtype.
-
PACKAGE
public static final Name PACKAGE
Name of thehydra.build.format.PackageValidationConfiguration.packagefield.
-
MODULE
public static final Name MODULE
Name of thehydra.build.format.PackageValidationConfiguration.modulefield.
-
TYPE
public static final Name TYPE
Name of thehydra.build.format.PackageValidationConfiguration.typefield.
-
TERM
public static final Name TERM
Name of thehydra.build.format.PackageValidationConfiguration.termfield.
-
package_
public final Optional<PackageValidationProfile> package_
Validation rules applying to the package as a whole
-
module
public final Optional<ModuleValidationProfile> module
Validation rules applying to each module
-
type
public final Optional<TypeValidationProfile> type
Validation rules applying to type-definition bodies
-
term
public final Optional<TermValidationProfile> term
Validation rules applying to term-definition bodies
-
-
Constructor Detail
-
PackageValidationConfiguration
public PackageValidationConfiguration(Optional<PackageValidationProfile> package_, Optional<ModuleValidationProfile> module, Optional<TypeValidationProfile> type, Optional<TermValidationProfile> term)
Constructs an immutablePackageValidationConfiguration.- Parameters:
package_- Validation rules applying to the package as a wholemodule- Validation rules applying to each moduletype- Validation rules applying to type-definition bodiesterm- Validation rules applying to term-definition bodies
-
-
Method Detail
-
equals
public boolean equals(java.lang.Object other)
- Overrides:
equalsin classjava.lang.Object
-
hashCode
public int hashCode()
- Overrides:
hashCodein classjava.lang.Object
-
toString
public java.lang.String toString()
- Overrides:
toStringin classjava.lang.Object
-
compareTo
public int compareTo(PackageValidationConfiguration other)
- Specified by:
compareToin interfacejava.lang.Comparable<PackageValidationConfiguration>
-
withPackage
public PackageValidationConfiguration withPackage(Optional<PackageValidationProfile> package_)
Returns a copy of thisPackageValidationConfigurationwithpackagereplaced.
-
withModule
public PackageValidationConfiguration withModule(Optional<ModuleValidationProfile> module)
Returns a copy of thisPackageValidationConfigurationwithmodulereplaced.
-
withType
public PackageValidationConfiguration withType(Optional<TypeValidationProfile> type)
Returns a copy of thisPackageValidationConfigurationwithtypereplaced.
-
withTerm
public PackageValidationConfiguration withTerm(Optional<TermValidationProfile> term)
Returns a copy of thisPackageValidationConfigurationwithtermreplaced.
-
builder
public static PackageValidationConfiguration.Builder builder()
Creates a new fluent builder forPackageValidationConfiguration.
-
-