litesoft
Diff Revisions
2
vs
17
for /trunk/Java/KeyHole/src/org/litesoft/aokeyhole/objects/ASet.java
|
@@ -1,7 +1,10 @@ |
1 |
1 |
|
package org.litesoft.aokeyhole.objects; |
2 |
2 |
|
|
|
3 |
+ |
import java.util.*; |
|
4 |
+ |
|
3 |
5 |
|
public class ASet |
4 |
6 |
|
{ |
|
7 |
+ |
private Set<String> mAcceptablePOtypes = new HashSet<String>(); |
5 |
8 |
|
private PropertyMetaData[] mPMDs; |
6 |
9 |
|
private AttributeCreationCallBack mCreationCallBack = null; |
7 |
10 |
|
|
|
@@ -10,6 +13,24 @@ |
10 |
13 |
|
mPMDs = (pPMDs != null) ? pPMDs : PropertyMetaData.EMPTY_ARRAY; |
11 |
14 |
|
} |
12 |
15 |
|
|
|
16 |
+ |
public ASet( String pAcceptablePOtype, PropertyMetaData... pPMDs ) |
|
17 |
+ |
{ |
|
18 |
+ |
this( pPMDs ); |
|
19 |
+ |
if ( pAcceptablePOtype != null ) |
|
20 |
+ |
{ |
|
21 |
+ |
mAcceptablePOtypes.add( pAcceptablePOtype ); |
|
22 |
+ |
} |
|
23 |
+ |
} |
|
24 |
+ |
|
|
25 |
+ |
public ASet( Set<String> pAcceptablePOtypes, PropertyMetaData... pPMDs ) |
|
26 |
+ |
{ |
|
27 |
+ |
this( pPMDs ); |
|
28 |
+ |
if ( pAcceptablePOtypes != null ) |
|
29 |
+ |
{ |
|
30 |
+ |
mAcceptablePOtypes.addAll( pAcceptablePOtypes ); |
|
31 |
+ |
} |
|
32 |
+ |
} |
|
33 |
+ |
|
13 |
34 |
|
public PropertyMetaData[] getPMDs() |
14 |
35 |
|
{ |
15 |
36 |
|
return mPMDs; |
|
@@ -25,4 +46,9 @@ |
25 |
46 |
|
mCreationCallBack = pCreationCallBack; |
26 |
47 |
|
return this; |
27 |
48 |
|
} |
|
49 |
+ |
|
|
50 |
+ |
public boolean isAcceptableAsRelatedTo( ObjectMetaData pObjectMetaData ) |
|
51 |
+ |
{ |
|
52 |
+ |
return mAcceptablePOtypes.isEmpty() || mAcceptablePOtypes.contains( pObjectMetaData.getObjectSet().getType() ); |
|
53 |
+ |
} |
28 |
54 |
|
} |