package ecologylab.bigsemantics.metametadata.declarations; import ecologylab.bigsemantics.metametadata.MetaMetadataCollectionField; import ecologylab.bigsemantics.metametadata.MetaMetadataField; import ecologylab.bigsemantics.metametadata.MetaMetadataNestedField; import ecologylab.bigsemantics.metametadata.mm_dont_inherit; import ecologylab.serialization.annotations.simpl_scalar; import ecologylab.serialization.annotations.simpl_tag; public abstract class MetaMetadataCompositeFieldDeclaration extends MetaMetadataNestedField { /** * The type/class of metadata object. */ @simpl_scalar private String type; /** * the extends attribute of a composite field / meta-metadata. */ @simpl_tag("extends") @simpl_scalar @mm_dont_inherit private String extendsAttribute; @simpl_scalar private String userAgentName; @simpl_scalar private String userAgentString; /** * if this composite should be wrapped. */ @simpl_scalar private boolean wrap; private MetaMetadataCollectionField enclosingCollectionField; public MetaMetadataCompositeFieldDeclaration() { super(); } public MetaMetadataCompositeFieldDeclaration(MetaMetadataField copy, String name) { super(copy, name); } public MetaMetadataCollectionField getEnclosingCollectionField() { return enclosingCollectionField; } public String getExtendsAttribute() { return extendsAttribute; } @Override public String getType() { return type; } public String getUserAgentName() { return userAgentName; } public String getUserAgentString() { if (userAgentString == null) { userAgentString = (userAgentName == null) ? getRepository().getDefaultUserAgentString() : getRepository().getUserAgentString(userAgentName); } return userAgentString; } public boolean isWrap() { return wrap; } public void setEnclosingCollectionField(MetaMetadataCollectionField enclosingCollectionField) { this.enclosingCollectionField = enclosingCollectionField; } public void setExtendsAttribute(String extendsAttribute) { this.extendsAttribute = extendsAttribute; } public void setType(String type) { this.type = type; } public void setUserAgentName(String userAgentName) { this.userAgentName = userAgentName; } public void setUserAgentString(String userAgentString) { this.userAgentString = userAgentString; } public void setWrap(boolean wrap) { this.wrap = wrap; } }