EntityDescriptor extends Descriptor { @Override public Descriptor getAttributeDescriptor(FieldSpecification<?, ?> attribute) { Objects.requireNonNull(attribute); Descriptor d = getFieldDescriptor(attribute.getJavaField()); if (d == null) { d = createDescriptor(attribute, context); if (hasLanguage()) { d.setLanguage(getLanguage()); } } return d; } EntityDescriptor();  EntityDescriptor(boolean assertionsInSubjectContext);  EntityDescriptor(URI context);  EntityDescriptor(URI context, boolean assertionsInSubjectContext); @Override EntityDescriptor addAttributeDescriptor(Field attribute, Descriptor descriptor); @Override EntityDescriptor addAttributeContext(Field attribute, URI context); @Override EntityDescriptor setLanguage(String languageTag); @Override EntityDescriptor setAttributeLanguage(Field attribute, String languageTag); @Override Descriptor getAttributeDescriptor(FieldSpecification<?, ?> attribute); @Override URI getAttributeContext(FieldSpecification<?, ?> attribute); @Override Collection<Descriptor> getAttributeDescriptors(); @Override boolean equals(Object o); @Override int hashCode();  }
@Test void fieldDescriptorByDefaultInheritsEntityContext() { final EntityDescriptor descriptor = new EntityDescriptor(CONTEXT_ONE); final Descriptor result = descriptor.getAttributeDescriptor(stringAtt); assertEquals(CONTEXT_ONE, result.getContext()); }
@Test void gettingFieldDescriptorFromEntityDescriptorLeavesItsHasLanguageStatusEmpty() { final Descriptor descriptor = new EntityDescriptor(); final Descriptor fieldDescriptor = descriptor.getAttributeDescriptor(stringAtt); assertFalse(fieldDescriptor.hasLanguage()); }