NodeTypes( @NonNull MergeType mergeType, @NonNull NodeKeyResolver nodeKeyResolver, boolean mutipleDeclarationAllowed, @Nullable AttributeModel.Builder... attributeModelBuilders) { this.mMergeType = Preconditions.checkNotNull(mergeType); this.mNodeKeyResolver = Preconditions.checkNotNull(nodeKeyResolver); @NonNull ImmutableList.Builder<AttributeModel> attributeModels = new ImmutableList.Builder<AttributeModel>(); if (attributeModelBuilders != null) { for (AttributeModel.Builder attributeModelBuilder : attributeModelBuilders) { attributeModels.add(attributeModelBuilder.build()); } } this.mAttributeModels = attributeModels.build(); this.mMultipleDeclarationAllowed = mutipleDeclarationAllowed; }
/** * Creates a new {@link Builder} to describe an attribute. * @param attributeName the to be described attribute name */ @NonNull static Builder newModel(String attributeName) { return new Builder(attributeName); }