litesoft
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
|
// This Source Code is in the Public Domain per: http://unlicense.org
package org.litesoft.aokeyhole.objects;
import java.util.*;
public class ASet
{
private Set<String> mAcceptablePOtypes = new HashSet<String>();
private PropertyMetaData[] mPMDs;
private AttributeCreationCallBack mCreationCallBack = null;
public ASet( PropertyMetaData... pPMDs )
{
mPMDs = (pPMDs != null) ? pPMDs : PropertyMetaData.EMPTY_ARRAY;
}
public ASet( String pAcceptablePOtype, PropertyMetaData... pPMDs )
{
this( pPMDs );
if ( pAcceptablePOtype != null )
{
mAcceptablePOtypes.add( pAcceptablePOtype );
}
}
public ASet( Set<String> pAcceptablePOtypes, PropertyMetaData... pPMDs )
{
this( pPMDs );
if ( pAcceptablePOtypes != null )
{
mAcceptablePOtypes.addAll( pAcceptablePOtypes );
}
}
public PropertyMetaData[] getPMDs()
{
return mPMDs;
}
public AttributeCreationCallBack getCreationCallBack()
{
return mCreationCallBack;
}
public ASet set( AttributeCreationCallBack pCreationCallBack )
{
mCreationCallBack = pCreationCallBack;
return this;
}
public boolean isAcceptableAsRelatedTo( ObjectMetaData pObjectMetaData )
{
return mAcceptablePOtypes.isEmpty() || mAcceptablePOtypes.contains( pObjectMetaData.getObjectSet().getType() );
}
}
|