public IApsEntity buildEntityType(Class entityClass, Map<String, AttributeInterface> attributes) throws ApiException, Throwable { List<ApiError> errors = new ArrayList<ApiError>(); IApsEntity entityType = null; try { entityType = (IApsEntity) entityClass.newInstance(); entityType.setTypeCode(this.getTypeCode()); entityType.setTypeDescr(this.getTypeDescription()); List<DefaultJAXBAttributeType> jabxAttributes = this.getAttributes(); for (int i = 0; i < jabxAttributes.size(); i++) { try { DefaultJAXBAttributeType jaxbAttributeType = jabxAttributes.get(i); AttributeInterface attribute = jaxbAttributeType.createAttribute(attributes); if (null != entityType.getAttribute(attribute.getName())) { throw new ApiException( IApiErrorCodes.API_VALIDATION_ERROR, "Attribute '" + attribute.getName() + "' already defined"); } entityType.addAttribute(attribute); } catch (ApiException e) { errors.addAll(e.getErrors()); } } } catch (Throwable t) { ApsSystemUtils.logThrowable(t, this, "buildEntityType"); throw t; } if (!errors.isEmpty()) throw new ApiException(errors); return entityType; }
public JAXBEntityType(IApsEntity entityType) { this.setTypeCode(entityType.getTypeCode()); this.setTypeDescription(entityType.getTypeDescr()); List<AttributeInterface> attributes = entityType.getAttributeList(); if (null != attributes) { for (int i = 0; i < attributes.size(); i++) { AttributeInterface attribute = attributes.get(i); this.getAttributes().add(attribute.getJAXBAttributeType()); } } }
/** * Inizializza l'iteratore in base all'entità. * * @param entity L'entità dal quale estrarre tutti gli attributi elementari. */ public EntityAttributeIterator(IApsEntity entity) { this._attributes = new ArrayList<AttributeInterface>(); List<AttributeInterface> entityAttributes = entity.getAttributeList(); for (int i = 0; i < entityAttributes.size(); i++) { this.addAttribute(entityAttributes.get(i)); } this._attributesIterator = this._attributes.iterator(); }