public final class RefValueDomain
extends java.lang.Object
implements java.io.Serializable
Ref.DOMAIN
) represents all references regardless of their location. A project or folder reference represent themselves and all referenes that can be under them. A resource reference represents itself. If a pair of references is specified such that one reference (e.g., Folder P1/f1) is more specific than the other one (e.g., Project P1), then the more specific reference (in this case Folder P1/f1) is removed.TypeSpace | ReferenceSpace | References implied |
---|---|---|
null | null | all references regardless of their location or type |
null | set(Ref.DOMAIN ) |
all references regardless of their location or type (same as above) |
set(T1,T2) | null | all referenes of type T1 or T2, regardless of their location |
null | set(Project1,Folder2,Resource3) | all references under Project1 or Folder1 regardless of their type, or Resource3 |
set(T1,T2) | set(Project1,Folder2) | All references of type T1, or T2, under Project1 or Folder2. |
set(T1,T2) | set(P1/f1,P1,P1/f1/resource1) | same as typeSpace=set(T1,T2), referenceSpace=set(P1) (P1/f and P1/f1/resource1 are removed since they are more specific than P1) |
null | set(resource1,resource2,resource3) | exactly the given resources |
set(T1) | set(resource_of_T1, resource_of_T2) | only resource_of_T1, since reference resource_of_T2 is a type that is not covered by the Type space (T1) |
Modifier and Type | Field and Description |
---|---|
static RefValueDomain |
All
Value domain that contains all possible references
|
static RefValueDomain |
None
Value domain that contains nothing
|
Constructor and Description |
---|
RefValueDomain(java.util.Set<java.lang.String> typeSpace, java.util.Set<Ref> referenceSpace)
Constructor
|
Modifier and Type | Method and Description |
---|---|
boolean |
equals(java.lang.Object o) |
<T> java.util.Map<Ref,T> |
filter(java.util.Map<Ref,T> input)
Filters the given map and returns a map that contains only entries whose references are in this domain
|
java.util.Set<Ref> |
filter(java.util.Set<Ref> input)
Filters the given set of references and returns a set that contains only the references that are in this domain
|
java.util.Set<Ref> |
getReferenceSpace()
Returns the reference space
|
java.util.Set<java.lang.String> |
getTypeSpace()
Returns the type space
|
int |
hashCode() |
static RefValueDomain |
intersect(RefValueDomain domain1, RefValueDomain domain2)
Returns a new value domain that is the intersection of two value domains.
|
boolean |
isMember(Ref ref)
Returns true if the given reference belongs to this value domain
|
java.lang.String |
toString() |
public static final RefValueDomain All
public static final RefValueDomain None
public RefValueDomain(java.util.Set<java.lang.String> typeSpace, java.util.Set<Ref> referenceSpace)
typeSpace
- Set of type ids representing the type of the resources found in this value domain. A null value indicates all possible resource typesreferenceSpace
- Set of references that describe the possible set of values of references. The set can contain resource references, folder and project references, and the domain reference, namely Ref.DOMAIN
.public static RefValueDomain intersect(RefValueDomain domain1, RefValueDomain domain2)
domain1
- first domaindomain2
- first domainpublic java.util.Set<java.lang.String> getTypeSpace()
public java.util.Set<Ref> getReferenceSpace()
public java.util.Set<Ref> filter(java.util.Set<Ref> input)
input
-public <T> java.util.Map<Ref,T> filter(java.util.Map<Ref,T> input)
T
-input
-public boolean isMember(Ref ref)
ref
-public boolean equals(java.lang.Object o)
equals
in class java.lang.Object
public int hashCode()
hashCode
in class java.lang.Object
public java.lang.String toString()
toString
in class java.lang.Object