Interface RelationshipSro
- All Superinterfaces:
BundleableObject,RelationshipObject,SdoDefaultValidator,Serializable,Stix,StixCommonProperties,StixCustomProperties,StixLabels,StixModified,StixRevoked,StixSpecVersion
- All Known Implementing Classes:
Relationship
@Immutable
@DefaultTypeValue(value="relationship",
groups=DefaultValuesProcessor.class)
@Redactable
@RelationshipTypeLimit(source=AttackPatternSdo.class,relationshipTypes={"targets","uses"}) @RelationshipTypeLimit(source=CampaignSdo.class,relationshipTypes={"attributed-to","targets","uses"}) @RelationshipTypeLimit(source=CourseOfActionSdo.class,relationshipTypes="mitigates") @RelationshipTypeLimit(source=IdentitySdo.class,relationshipTypes={"targets","attributed-to","impersonates"}) @RelationshipTypeLimit(source=IndicatorSdo.class,relationshipTypes="indicates") @RelationshipTypeLimit(source=IntrusionSetSdo.class,relationshipTypes={"attributed-to","targets","uses"}) @RelationshipTypeLimit(source=MalwareSdo.class,relationshipTypes={"targets","uses","variant-of"}) @RelationshipTypeLimit(source=ThreatActorSdo.class,relationshipTypes={"attributed-to","impersonates","targets","uses"}) @RelationshipTypeLimit(source=ToolSdo.class,relationshipTypes="targets")
@RelationshipLimit(source=DomainObject.class,relationshipType="derived-from",target=DomainObject.class,classEquality=true) @RelationshipLimit(source=DomainObject.class,relationshipType="duplicate-of",target=DomainObject.class,classEquality=true) @RelationshipLimit(source=DomainObject.class,relationshipType="related-to",target=DomainObject.class) @RelationshipLimit(source=AttackPatternSdo.class,relationshipType="targets",target={IdentitySdo.class,VulnerabilitySdo.class}) @RelationshipLimit(source=AttackPatternSdo.class,relationshipType="uses",target={MalwareSdo.class,ToolSdo.class}) @RelationshipLimit(source=CampaignSdo.class,relationshipType="attributed-to",target={IntrusionSetSdo.class,ThreatActorSdo.class}) @RelationshipLimit(source=CampaignSdo.class,relationshipType="targets",target={IdentitySdo.class,VulnerabilitySdo.class}) @RelationshipLimit(source=CampaignSdo.class,relationshipType="uses",target={AttackPatternSdo.class,MalwareSdo.class,ToolSdo.class}) @RelationshipLimit(source=CourseOfActionSdo.class,relationshipType="mitigates",target={AttackPatternSdo.class,MalwareSdo.class,ToolSdo.class,VulnerabilitySdo.class}) @RelationshipLimit(source=IndicatorSdo.class,relationshipType="indicates",target={AttackPatternSdo.class,CampaignSdo.class,IntrusionSetSdo.class,MalwareSdo.class,ThreatActorSdo.class,ToolSdo.class}) @RelationshipLimit(source=IntrusionSetSdo.class,relationshipType="attributed-to",target=ThreatActorSdo.class) @RelationshipLimit(source=IntrusionSetSdo.class,relationshipType="targets",target={IdentitySdo.class,VulnerabilitySdo.class}) @RelationshipLimit(source=IntrusionSetSdo.class,relationshipType="uses",target={AttackPatternSdo.class,MalwareSdo.class,ToolSdo.class}) @RelationshipLimit(source=MalwareSdo.class,relationshipType="targets",target={IdentitySdo.class,VulnerabilitySdo.class}) @RelationshipLimit(source=MalwareSdo.class,relationshipType="uses",target=ToolSdo.class) @RelationshipLimit(source=MalwareSdo.class,relationshipType="variant-of",target=MalwareSdo.class) @RelationshipLimit(source=ThreatActorSdo.class,relationshipType="attributed-to",target=IdentitySdo.class) @RelationshipLimit(source=ThreatActorSdo.class,relationshipType="impersonates",target=IdentitySdo.class) @RelationshipLimit(source=ThreatActorSdo.class,relationshipType="targets",target={IdentitySdo.class,VulnerabilitySdo.class}) @RelationshipLimit(source=ThreatActorSdo.class,relationshipType="uses",target={AttackPatternSdo.class,MalwareSdo.class,ToolSdo.class}) @RelationshipLimit(source=ToolSdo.class,relationshipType="targets",target={IdentitySdo.class,VulnerabilitySdo.class})
public interface RelationshipSro
extends RelationshipObject
relationship
The Relationship object is used to link together two SDOs in order to describe how they are related to each other.
-
Field Summary
Fields inherited from interface security.whisper.javastix.validation.SdoDefaultValidator
VALIDATOR -
Method Summary
Modifier and TypeMethodDescription@NotBlank @Vocab(RelationshipTypes.class) String@NotNull DomainObject@NotNull DomainObjectMethods inherited from interface security.whisper.javastix.validation.SdoDefaultValidator
validate, validateOnlyIdMethods inherited from interface security.whisper.javastix.common.StixCommonProperties
checkHydrationValidation, getCreated, getCreatedByRef, getExternalReferences, getGranularMarkings, getHydrated, getId, getLang, getObjectMarkingRefs, getType, toJsonStringMethods inherited from interface security.whisper.javastix.common.StixCustomProperties
getCustomPropertiesMethods inherited from interface security.whisper.javastix.common.StixLabels
getLabelsMethods inherited from interface security.whisper.javastix.common.StixModified
getModifiedMethods inherited from interface security.whisper.javastix.common.StixRevoked
getRevokedMethods inherited from interface security.whisper.javastix.common.StixSpecVersion
getSpecVersion
-
Method Details
-
getRelationshipType
@NotBlank @Vocab(RelationshipTypes.class) @JsonPropertyDescription("The name used to identify the type of relationship.") @Redactable(useMask=true) @NotBlank @Vocab(RelationshipTypes.class) String getRelationshipType() -
getDescription
@JsonPropertyDescription("A description that helps provide context about the relationship.") @Redactable Optional<String> getDescription() -
getSourceRef
@NotNull @JsonPropertyDescription("The ID of the source (from) object.") @Redactable(useMask=true) @NotNull DomainObject getSourceRef() -
getTargetRef
@NotNull @JsonPropertyDescription("The ID of the target (to) object.") @Redactable(useMask=true) @NotNull DomainObject getTargetRef()
-