use of org.whole.lang.xsd.mapping.model.Types in project whole by wholeplatform.
the class CompiledMappingStrategy method getUnionEntityMappings.
public Collection<EntityDescriptor<?>> getUnionEntityMappings(EntityDescriptor<?> context) {
// TODO optimize
String contextURI = unparseEntityDescriptor(context);
AbstractPatternFilterIterator<UnionMapping> i2 = IteratorFactory.<UnionMapping>childMatcherIterator().withPattern(UnionMapping);
i2.reset(strategy.getMappings());
for (UnionMapping mapping : i2) if (contextURI.equals(mapping.getContextEntityType().getValue())) {
Types unionTypes = mapping.getUnionTypes();
int size = unionTypes.wSize();
List<EntityDescriptor<?>> list = new ArrayList<EntityDescriptor<?>>(size);
for (int i = 0; i < size; i++) list.add(parseEntityDescriptor(unionTypes.wGet(i).wStringValue()));
return list;
}
return Collections.emptyList();
}
use of org.whole.lang.xsd.mapping.model.Types in project whole by wholeplatform.
the class CompiledMappingStrategy method isMixedType.
public boolean isMixedType(EntityDescriptor<?> ed) {
if (mixedTypes == null) {
mixedTypes = new HashSet<EntityDescriptor<?>>();
Types uris = strategy.getMixedTypes();
for (int i = 0, size = uris.wSize(); i < size; i++) mixedTypes.add(parseEntityDescriptor(uris.wGet(i).wStringValue()));
}
return mixedTypes.contains(ed);
}
Aggregations