public class UnifiedMetaData extends Object
This class aggregates information about messages, fields, composite/enum types, repeating groups, presence and nullability, offsets/sizes, encodings, and domain-specific hints in a single structure that can be consumed by decoders/encoders and higher–level utilities.
Thread-safety: Instances are not guaranteed to be thread-safe unless documented otherwise; treat them as confined to the parsing/building thread.
Terminology:
The instance can represent actual schema members as well as virtual or synthesized fields
(e.g., special IDs defined by biz.onixs.sbe.SpecialFieldIds).
Usage examples:
// Iterate groups in a message and print their names
UnifiedMetaData message = ...;
for (UnifiedMetaData g : message.getGroups()) {
if (g.isGroup()) {
System.out.println(g.getName());
}
}
// Print composite member names and primitive types
UnifiedMetaData field = ...;
if (field.isComposite()) {
for (UnifiedMetaData m : field.getCompositeMembers()) {
System.out.println(m.getName() + ": " + m.getPrimitiveType());
}
}
// Compute offsets within a fixed-length field set
int running = 0;
for (UnifiedMetaData f : field.getCompositeMembers()) {
int off = f.getOffsetInFieldSet(running);
System.out.println(f.getName() + " @ " + off);
running = off + f.getSize();
}
| Modifier and Type | Class and Description |
|---|---|
static class |
UnifiedMetaData.Kind |
static class |
UnifiedMetaData.Presence |
static class |
UnifiedMetaData.PrimitiveType |
static class |
UnifiedMetaData.SemanticType |
static class |
UnifiedMetaData.WellKnownComposite |
| Constructor and Description |
|---|
UnifiedMetaData(MessageSchema messageSchema) |
public UnifiedMetaData(MessageSchema messageSchema)
public MetaDataNode getMetaDataNode()
public Integer getTag()
public String getName()
public String getInheritedName()
public String getDescription()
public String getValue()
public UnifiedMetaData.Kind getKind()
public Integer getSinceVersion()
public String getRawSemanticType()
public UnifiedMetaData.SemanticType getSemanticType()
public String getFixMessageType()
public UnifiedMetaData.PrimitiveType getPrimitiveType()
public Integer getLength()
public UnifiedMetaData.Presence getPresence()
public String getNullValue()
public String getMinValue()
public String getMaxValue()
public String getValueRef()
public Integer getExplicitOffset()
public Integer getExplicitAlignment()
public Integer getCalculatedOffset()
public int getPaddingBefore()
public int getPaddingAfter()
public Integer getFixedSize()
public String getTimeEpoch()
public String getTimeUnit()
public String getUnderlayingType()
public String getUnderlayingPrimitiveTypeName()
public UnifiedMetaData getResolvedUnderlayingType()
public UnifiedMetaData getParent()
public UnifiedMetaData[] getFixedSizeBlock()
public UnifiedMetaData[] getGroups()
public UnifiedMetaData[] getData()
public UnifiedMetaData[] getCompositeMembers()
public Integer getBlockLength()
public String getDimensionTypeName()
public UnifiedMetaData getResolvedDimensionType()
public Integer getValuePosition()
public UnifiedMetaData[] getValues()
public Long getValidValuesMask()
public boolean isOffsetsResolved()
public UnifiedMetaData.WellKnownComposite getWellKnownComposite()
public String getCharacterEncoding()
public boolean isEnum()
public boolean isSet()
public boolean isComposite()
public boolean isCustomComposite()
public UnifiedMetaData getCompositeMembersContainer()
public boolean isVarData()
public boolean isGroup()
public UnifiedMetaData isSimpleFixField()
public boolean isFixedLengthField()
public boolean isConstant()
public boolean isOptional()
public boolean isVirtual()
public boolean isRequired()
public int getOffsetInFieldSet(int ownFieldSetOffset)
public int getFieldSetHeaderSize()
public boolean isArray()
public UnifiedMetaData findCompositeMember(String name)
public UnifiedMetaData findCompositeMember(Function<UnifiedMetaData,Boolean> func)
public UnifiedMetaData findValue(String name)
public UnifiedMetaData findField(String name)
public UnifiedMetaData findField(int tag)
public MessageSchema getMessageSchema()
public void resolveInternalLinks()
public UnifiedMetaData getUnderlayingPrimitiveType()
public void recognizeTypes()
public void buildVirtualFields()
public boolean hasVirtualFields()
public UnifiedMetaData[] getVirtualFields()
public void resolveOffsets()
public void resolveValues(MessageSchema schema)
public Class<?> getPresentativeJavaClass()
public Class<?> getInternalJavaClass()
public void initGeneratingData(Object object)
public Object getOwnGeneratingData()
public Object getGeneratingData()
public long getLongValue()
public int getIntValue()
Copyright © 2005–2025 Onix Solutions. All rights reserved.