Package hydra.packaging
Class TermDefinition
- java.lang.Object
-
- hydra.packaging.TermDefinition
-
- All Implemented Interfaces:
java.io.Serializable,java.lang.Comparable<TermDefinition>
public class TermDefinition extends java.lang.Object implements java.io.Serializable, java.lang.Comparable<TermDefinition>
A term-level definition, including a name, an optional signature, and a term- See Also:
- Serialized Form
-
-
Field Summary
Fields Modifier and Type Field Description TermbodyThe term being definedstatic NameBODYName of thehydra.packaging.TermDefinition.bodyfield.Optional<EntityMetadata>metadataOptional documentation and lifecycle metadata for the term definitionstatic NameMETADATAName of thehydra.packaging.TermDefinition.metadatafield.NamenameThe name of the termstatic NameNAMEName of thehydra.packaging.TermDefinition.namefield.Optional<TermSignature>signatureThe optional signature of the term.static NameSIGNATUREName of thehydra.packaging.TermDefinition.signaturefield.static NameTYPE_Name of thehydra.packaging.TermDefinitiontype.
-
Constructor Summary
Constructors Constructor Description TermDefinition(Name name, Optional<EntityMetadata> metadata, Optional<TermSignature> signature, Term body)Constructs an immutableTermDefinition.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description intcompareTo(TermDefinition other)booleanequals(java.lang.Object other)inthashCode()TermDefinitionwithBody(Term body)Returns a copy of thisTermDefinitionwithbodyreplaced.TermDefinitionwithMetadata(Optional<EntityMetadata> metadata)Returns a copy of thisTermDefinitionwithmetadatareplaced.TermDefinitionwithName(Name name)Returns a copy of thisTermDefinitionwithnamereplaced.TermDefinitionwithSignature(Optional<TermSignature> signature)Returns a copy of thisTermDefinitionwithsignaturereplaced.
-
-
-
Field Detail
-
TYPE_
public static final Name TYPE_
Name of thehydra.packaging.TermDefinitiontype.
-
NAME
public static final Name NAME
Name of thehydra.packaging.TermDefinition.namefield.
-
METADATA
public static final Name METADATA
Name of thehydra.packaging.TermDefinition.metadatafield.
-
SIGNATURE
public static final Name SIGNATURE
Name of thehydra.packaging.TermDefinition.signaturefield.
-
BODY
public static final Name BODY
Name of thehydra.packaging.TermDefinition.bodyfield.
-
name
public final Name name
The name of the term
-
metadata
public final Optional<EntityMetadata> metadata
Optional documentation and lifecycle metadata for the term definition
-
signature
public final Optional<TermSignature> signature
The optional signature of the term. When absent, the signature has yet to be inferred.
-
body
public final Term body
The term being defined
-
-
Constructor Detail
-
TermDefinition
public TermDefinition(Name name, Optional<EntityMetadata> metadata, Optional<TermSignature> signature, Term body)
Constructs an immutableTermDefinition.- Parameters:
name- The name of the termmetadata- Optional documentation and lifecycle metadata for the term definitionsignature- The optional signature of the term. When absent, the signature has yet to be inferred.body- The term being defined
-
-
Method Detail
-
equals
public boolean equals(java.lang.Object other)
- Overrides:
equalsin classjava.lang.Object
-
hashCode
public int hashCode()
- Overrides:
hashCodein classjava.lang.Object
-
compareTo
public int compareTo(TermDefinition other)
- Specified by:
compareToin interfacejava.lang.Comparable<TermDefinition>
-
withName
public TermDefinition withName(Name name)
Returns a copy of thisTermDefinitionwithnamereplaced.
-
withMetadata
public TermDefinition withMetadata(Optional<EntityMetadata> metadata)
Returns a copy of thisTermDefinitionwithmetadatareplaced.
-
withSignature
public TermDefinition withSignature(Optional<TermSignature> signature)
Returns a copy of thisTermDefinitionwithsignaturereplaced.
-
withBody
public TermDefinition withBody(Term body)
Returns a copy of thisTermDefinitionwithbodyreplaced.
-
-