}
private static ObjectType getFacetTypeMetadata(final Connector connector,
final Class<? extends AbstractFacet>[] facetTypes,
final Class<? extends AbstractFacet> facetType) {
ObjectTypeSpec ots = facetType
.getAnnotation(ObjectTypeSpec.class);
// objectTypes are mandatory only if there are more than 1
if (ots == null) {
if (facetTypes.length>1)
throw new RuntimeException(
"No ObjectTypeSpec Annotation for Facet ["
+ facetType.getName() + "]");
else
return null;
}
ObjectType objectType = new ObjectType();
objectType.facetClass = facetType;
objectType.value = ots.value();
objectType.name = ots.name();
objectType.prettyname = ots.prettyname();
objectType.isImageType = ots.isImageType();
objectType.isDateBased = ots.isDateBased();
objectType.isMixedType = ots.isMixedType();
objectType.isClientFacet = ots.clientFacet();
objectType.visibleClause = ots.visibleClause().equals("")?null:ots.visibleClause();
objectType.orderBy = ots.orderBy().equals("")?null:ots.orderBy();
if (ots.extractor() != null && ots.extractor()!=AbstractFacetExtractor.class) {
connector.addObjectTypeExtractorClass(
objectType.value, ots.extractor(),
ots.parallel());
}
return objectType;
}