Class ApplicabilityDependencyGroup
- java.lang.Object
-
- de.hsh.graja.comment.applicability.ApplicabilityDependencyGroup
-
- All Implemented Interfaces:
ApplicabilityDependency
,Applicable
,Serializable
,Cloneable
- Direct Known Subclasses:
ApplicabilityDependencyIntersection
,ApplicabilityDependencyUnion
public abstract class ApplicabilityDependencyGroup extends Object implements ApplicabilityDependency
Abstract base class of union or intersection set ofApplicabilityDependency
objects.- See Also:
- Serialized Form
-
-
Field Summary
Fields Modifier and Type Field Description protected HashSet<ApplicabilityDependency>
dependencies
protected ApplicabilityReducer
reducer
-
Constructor Summary
Constructors Modifier Constructor Description protected
ApplicabilityDependencyGroup(ApplicabilityReducer reducer)
create an empty setprotected
ApplicabilityDependencyGroup(ApplicabilityReducer reducer, ApplicabilityDependency... dependencies)
create a given setprotected
ApplicabilityDependencyGroup(ApplicabilityReducer reducer, Iterable<? extends ApplicabilityDependency> dependencies)
create a given set
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description void
add(ApplicabilityDependency d)
add a dependencyApplicability
calcApplicability(ApplicabilityFilter filter)
Calculate the applicability of a comment or for referenced comments (so called dependencies).abstract ApplicabilityDependencyGroup
clone()
boolean
equals(Object obj)
implements the contract ofObject.equals(Object)
.int
hashCode()
implements the contract ofObject.hashCode()
.
-
-
-
Field Detail
-
dependencies
protected HashSet<ApplicabilityDependency> dependencies
-
reducer
protected ApplicabilityReducer reducer
-
-
Constructor Detail
-
ApplicabilityDependencyGroup
protected ApplicabilityDependencyGroup(ApplicabilityReducer reducer, Iterable<? extends ApplicabilityDependency> dependencies)
create a given set
-
ApplicabilityDependencyGroup
protected ApplicabilityDependencyGroup(ApplicabilityReducer reducer, ApplicabilityDependency... dependencies)
create a given set
-
ApplicabilityDependencyGroup
protected ApplicabilityDependencyGroup(ApplicabilityReducer reducer)
create an empty set
-
-
Method Detail
-
clone
public abstract ApplicabilityDependencyGroup clone()
- Specified by:
clone
in interfaceApplicabilityDependency
- Overrides:
clone
in classObject
- Returns:
- a clone
-
add
public void add(ApplicabilityDependency d)
add a dependency- Parameters:
d
- dependency
-
calcApplicability
public Applicability calcApplicability(ApplicabilityFilter filter)
Description copied from interface:Applicable
Calculate the applicability of a comment or for referenced comments (so called dependencies). The calculated applicability might result from a union or intersection of grouped dependencies. The calculation leaves out artifacts that do not pass the givenfilter
. If no applicability can be calculated, because all relevant artifacts are filtered out,Applicability.MINIMUM_APPLICABILITY
is returned.- Specified by:
calcApplicability
in interfaceApplicable
- Parameters:
filter
- filter- Returns:
- the result after evaluating and reducing all depended on applicabilities.
If no depended on artifact passes the filter, the value
reducer.initial()
is returned.
-
hashCode
public int hashCode()
implements the contract ofObject.hashCode()
.
-
equals
public boolean equals(Object obj)
implements the contract ofObject.equals(Object)
.
-
-