Added fixes after review. Changed example pattern application to threat detection domain
This commit is contained in:
Binary file not shown.
Before Width: | Height: | Size: 138 KiB After Width: | Height: | Size: 128 KiB |
@ -4,129 +4,93 @@ package com.iluwatar.filterer.domain {
|
||||
+ by(Predicate<? super E>) : G {abstract}
|
||||
}
|
||||
}
|
||||
package com.iluwatar.filterer.issue {
|
||||
interface Issue {
|
||||
+ endOffset() : int {abstract}
|
||||
+ startOffset() : int {abstract}
|
||||
+ type() : IssueType {abstract}
|
||||
package com.iluwatar.filterer {
|
||||
class App {
|
||||
- LOGGER : Logger {static}
|
||||
+ App()
|
||||
- filteringSimpleProbableThreats() {static}
|
||||
- filteringSimpleThreats() {static}
|
||||
+ main(args : String[]) {static}
|
||||
}
|
||||
interface IssueAwareText {
|
||||
+ filtered() : Filterer<? extends IssueAwareText, ? extends Issue> {abstract}
|
||||
+ issues() : List<? extends Issue> {abstract}
|
||||
+ text() : String {abstract}
|
||||
}
|
||||
package com.iluwatar.filterer.threat {
|
||||
interface ProbabilisticThreatAwareSystem {
|
||||
+ filtered() : Filterer<? extends ProbabilisticThreatAwareSystem, ? extends ProbableThreat> {abstract}
|
||||
+ threats() : List<? extends ProbableThreat> {abstract}
|
||||
}
|
||||
class IssuePosition {
|
||||
- endOffset : int
|
||||
- startOffset : int
|
||||
- IssuePosition(startOffset : int, endOffset : int)
|
||||
~ endOffset() : int
|
||||
+ equals(o : Object) : boolean
|
||||
+ hashCode() : int
|
||||
+ of(startOffset : int, endOffset : int) : IssuePosition {static}
|
||||
~ startOffset() : int
|
||||
}
|
||||
~enum IssueType {
|
||||
+ GRAMMAR {static}
|
||||
+ SPELLING {static}
|
||||
+ valueOf(name : String) : IssueType {static}
|
||||
+ values() : IssueType[] {static}
|
||||
}
|
||||
interface IssueWiseText {
|
||||
+ filtered() : Filterer<? extends IssueWiseText, ? extends Issue> {abstract}
|
||||
+ issues() : List<? extends Issue> {abstract}
|
||||
+ text() : String {abstract}
|
||||
}
|
||||
interface ProbabilisticIssueAwareText {
|
||||
+ filtered() : Filterer<? extends ProbabilisticIssueAwareText, ? extends ProbableIssue> {abstract}
|
||||
+ issues() : List<? extends ProbableIssue> {abstract}
|
||||
}
|
||||
interface ProbabilisticIssueWiseText {
|
||||
+ filtered() : Filterer<? extends ProbabilisticIssueWiseText, ? extends ProbableIssue> {abstract}
|
||||
+ issues() : List<? extends ProbableIssue> {abstract}
|
||||
}
|
||||
interface ProbableIssue {
|
||||
interface ProbableThreat {
|
||||
+ probability() : double {abstract}
|
||||
}
|
||||
class SimpleIssue {
|
||||
- issuePosition : IssuePosition
|
||||
- issueType : IssueType
|
||||
~ SimpleIssue(issuePosition : IssuePosition, issueType : IssueType)
|
||||
+ endOffset() : int
|
||||
class SimpleProbabilisticThreatAwareSystem {
|
||||
- systemId : String
|
||||
- threats : ImmutableList<ProbableThreat>
|
||||
+ SimpleProbabilisticThreatAwareSystem(systemId : String, threats : List<ProbableThreat>)
|
||||
+ equals(o : Object) : boolean
|
||||
+ filtered() : Filterer<? extends ProbabilisticThreatAwareSystem, ? extends ProbableThreat>
|
||||
- filteredGroup(predicate : Predicate<? super ProbableThreat>) : ProbabilisticThreatAwareSystem
|
||||
- filteredItems(predicate : Predicate<? super ProbableThreat>) : List<ProbableThreat>
|
||||
+ hashCode() : int
|
||||
+ startOffset() : int
|
||||
+ type() : IssueType
|
||||
+ systemId() : String
|
||||
+ threats() : List<? extends ProbableThreat>
|
||||
+ toString() : String
|
||||
}
|
||||
class SimpleIssueAwareText {
|
||||
- issues : ImmutableList<Issue>
|
||||
- text : String
|
||||
~ SimpleIssueAwareText(text : String, issues : List<Issue>)
|
||||
+ equals(o : Object) : boolean
|
||||
+ filtered() : Filterer<? extends IssueAwareText, ? extends Issue>
|
||||
- filteredGroup(predicate : Predicate<? super Issue>) : IssueAwareText
|
||||
- filteredItems(predicate : Predicate<? super Issue>) : ImmutableList<Issue>
|
||||
+ hashCode() : int
|
||||
+ issues() : List<? extends Issue>
|
||||
+ text() : String
|
||||
}
|
||||
class SimpleIssueWiseText {
|
||||
- issues : ImmutableList<Issue>
|
||||
- text : String
|
||||
+ SimpleIssueWiseText(text : String, issues : List<Issue>)
|
||||
+ equals(o : Object) : boolean
|
||||
+ filtered() : Filterer<? extends IssueWiseText, ? extends Issue>
|
||||
- filteredGroup(predicate : Predicate<? super Issue>) : IssueWiseText
|
||||
- filteredItems(predicate : Predicate<? super Issue>) : ImmutableList<Issue>
|
||||
+ hashCode() : int
|
||||
+ issues() : List<? extends Issue>
|
||||
+ text() : String
|
||||
}
|
||||
class SimpleProbabilisticIssueAwareText {
|
||||
- issues : ImmutableList<ProbableIssue>
|
||||
- text : String
|
||||
~ SimpleProbabilisticIssueAwareText(text : String, issues : List<ProbableIssue>)
|
||||
+ equals(o : Object) : boolean
|
||||
+ filtered() : Filterer<? extends ProbabilisticIssueAwareText, ? extends ProbableIssue>
|
||||
- filteredGroup(predicate : Predicate<? super ProbableIssue>) : ProbabilisticIssueAwareText
|
||||
- filteredItems(predicate : Predicate<? super ProbableIssue>) : ImmutableList<ProbableIssue>
|
||||
+ hashCode() : int
|
||||
+ issues() : List<? extends ProbableIssue>
|
||||
+ text() : String
|
||||
}
|
||||
class SimpleProbabilisticIssueWiseText {
|
||||
- issues : ImmutableList<ProbableIssue>
|
||||
- text : String
|
||||
+ SimpleProbabilisticIssueWiseText(text : String, issues : List<ProbableIssue>)
|
||||
+ equals(o : Object) : boolean
|
||||
+ filtered() : Filterer<? extends ProbabilisticIssueWiseText, ? extends ProbableIssue>
|
||||
- filteredGroup(predicate : Predicate<? super ProbableIssue>) : ProbabilisticIssueWiseText
|
||||
- filteredItems(predicate : Predicate<? super ProbableIssue>) : ImmutableList<ProbableIssue>
|
||||
+ hashCode() : int
|
||||
+ issues() : List<? extends ProbableIssue>
|
||||
+ text() : String
|
||||
}
|
||||
class SimpleProbableIssue {
|
||||
class SimpleProbableThreat {
|
||||
- probability : double
|
||||
~ SimpleProbableIssue(issuePosition : IssuePosition, issueType : IssueType, probability : double)
|
||||
+ SimpleProbableThreat(name : String, id : int, threatType : ThreatType, probability : double)
|
||||
+ equals(o : Object) : boolean
|
||||
+ hashCode() : int
|
||||
+ probability() : double
|
||||
+ toString() : String
|
||||
}
|
||||
class SimpleThreat {
|
||||
- id : int
|
||||
- name : String
|
||||
- threatType : ThreatType
|
||||
+ SimpleThreat(threatType : ThreatType, id : int, name : String)
|
||||
+ id() : int
|
||||
+ name() : String
|
||||
+ toString() : String
|
||||
+ type() : ThreatType
|
||||
}
|
||||
class SimpleThreatAwareSystem {
|
||||
- issues : ImmutableList<Threat>
|
||||
- systemId : String
|
||||
+ SimpleThreatAwareSystem(systemId : String, issues : List<Threat>)
|
||||
+ equals(o : Object) : boolean
|
||||
+ filtered() : Filterer<? extends ThreatAwareSystem, ? extends Threat>
|
||||
- filteredGroup(predicate : Predicate<? super Threat>) : ThreatAwareSystem
|
||||
- filteredItems(predicate : Predicate<? super Threat>) : List<Threat>
|
||||
+ hashCode() : int
|
||||
+ systemId() : String
|
||||
+ threats() : List<? extends Threat>
|
||||
+ toString() : String
|
||||
}
|
||||
interface Threat {
|
||||
+ id() : int {abstract}
|
||||
+ name() : String {abstract}
|
||||
+ type() : ThreatType {abstract}
|
||||
}
|
||||
interface ThreatAwareSystem {
|
||||
+ filtered() : Filterer<? extends ThreatAwareSystem, ? extends Threat> {abstract}
|
||||
+ systemId() : String {abstract}
|
||||
+ threats() : List<? extends Threat> {abstract}
|
||||
}
|
||||
enum ThreatType {
|
||||
+ ROOTKIT {static}
|
||||
+ TROJAN {static}
|
||||
+ WORM {static}
|
||||
+ valueOf(name : String) : ThreatType {static}
|
||||
+ values() : ThreatType[] {static}
|
||||
}
|
||||
}
|
||||
SimpleIssueWiseText --> "-issues" Issue
|
||||
SimpleProbabilisticIssueAwareText --> "-issues" ProbableIssue
|
||||
SimpleIssue --> "-issueType" IssueType
|
||||
SimpleIssueAwareText --> "-issues" Issue
|
||||
SimpleProbabilisticIssueWiseText --> "-issues" ProbableIssue
|
||||
SimpleIssue --> "-issuePosition" IssuePosition
|
||||
ProbabilisticIssueAwareText --|> IssueAwareText
|
||||
ProbabilisticIssueWiseText --|> IssueWiseText
|
||||
ProbableIssue --|> Issue
|
||||
SimpleIssue ..|> Issue
|
||||
SimpleIssueAwareText ..|> IssueAwareText
|
||||
SimpleIssueWiseText ..|> IssueWiseText
|
||||
SimpleProbabilisticIssueAwareText ..|> ProbabilisticIssueAwareText
|
||||
SimpleProbabilisticIssueWiseText ..|> ProbabilisticIssueWiseText
|
||||
SimpleProbableIssue ..|> ProbableIssue
|
||||
SimpleProbableIssue --|> SimpleIssue
|
||||
SimpleThreatAwareSystem --> "-issues" Threat
|
||||
SimpleThreat --> "-threatType" ThreatType
|
||||
SimpleProbabilisticThreatAwareSystem --> "-threats" ProbableThreat
|
||||
ProbabilisticThreatAwareSystem --|> ThreatAwareSystem
|
||||
ProbableThreat --|> Threat
|
||||
SimpleProbabilisticThreatAwareSystem ..|> ProbabilisticThreatAwareSystem
|
||||
SimpleProbableThreat ..|> ProbableThreat
|
||||
SimpleProbableThreat --|> SimpleThreat
|
||||
SimpleThreat ..|> Threat
|
||||
SimpleThreatAwareSystem ..|> ThreatAwareSystem
|
||||
@enduml
|
Reference in New Issue
Block a user