Subversion Repository Public Repository

litesoft

Diff Revisions 2 vs 17 for /trunk/Java/KeyHole/src/org/litesoft/aokeyhole/objects/ASet.java

Diff revisions: vs.
  @@ -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 }