Class CStructDescriptor

  • All Implemented Interfaces:
    net.morimekta.providence.descriptor.PDescriptor, CAnnotatedDescriptor, CMessageDescriptor, net.morimekta.providence.serializer.json.JsonCompactibleDescriptor

    public class CStructDescriptor
    extends net.morimekta.providence.descriptor.PStructDescriptor<CStruct,CField>
    implements CMessageDescriptor, net.morimekta.providence.serializer.json.JsonCompactibleDescriptor
    Since:
    07.09.15
    Author:
    Stein Eldar Johnsen
    • Constructor Summary

      Constructors 
      Constructor Description
      CStructDescriptor​(java.lang.String comment, java.lang.String programName, java.lang.String name, java.util.List<CField> fields, java.util.Map<java.lang.String,java.lang.String> annotations)  
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      CField findFieldById​(int id)  
      CField findFieldByName​(java.lang.String name)  
      java.util.Set<java.lang.String> getAnnotations()
      Get set of available annotations.
      java.lang.String getAnnotationValue​(java.lang.String name)
      Get the given annotation value.
      java.lang.String getDocumentation()
      The type comment is the last block of comment written before the type declaration.
      CField[] getFields()  
      boolean hasAnnotation​(java.lang.String name)
      Get the given annotation value.
      boolean isJsonCompactible()  
      boolean isSimple()  
      • Methods inherited from class java.lang.Object

        clone, finalize, getClass, notify, notifyAll, wait, wait, wait
      • Methods inherited from class net.morimekta.providence.descriptor.PDeclaredDescriptor

        getDefaultValue, getName, getProgramName, getQualifiedName, toString
      • Methods inherited from interface net.morimekta.providence.descriptor.PDescriptor

        getDefaultValue, getName, getProgramName, getQualifiedName, getQualifiedName, getType
      • Methods inherited from class net.morimekta.providence.descriptor.PMessageDescriptor

        builder, equals, fieldForId, fieldForName, getBuilderSupplier, getField, getField, getType, hashCode
      • Methods inherited from class net.morimekta.providence.descriptor.PStructDescriptor

        getVariant
    • Constructor Detail

      • CStructDescriptor

        public CStructDescriptor​(java.lang.String comment,
                                 java.lang.String programName,
                                 java.lang.String name,
                                 java.util.List<CField> fields,
                                 java.util.Map<java.lang.String,java.lang.String> annotations)
    • Method Detail

      • getDocumentation

        public final java.lang.String getDocumentation()
        Description copied from interface: CAnnotatedDescriptor
        The type comment is the last block of comment written before the type declaration. Comments on the same line, after the declaration is ignored.
        Specified by:
        getDocumentation in interface CAnnotatedDescriptor
        Returns:
        The comment string containing all formatting (not including the comment delimiter and the leading space.
      • hasAnnotation

        public boolean hasAnnotation​(@Nonnull
                                     java.lang.String name)
        Description copied from interface: CAnnotatedDescriptor
        Get the given annotation value.
        Specified by:
        hasAnnotation in interface CAnnotatedDescriptor
        Parameters:
        name - Name of annotation.
        Returns:
        If the annotation is present.
      • getAnnotationValue

        public java.lang.String getAnnotationValue​(@Nonnull
                                                   java.lang.String name)
        Description copied from interface: CAnnotatedDescriptor
        Get the given annotation value.
        Specified by:
        getAnnotationValue in interface CAnnotatedDescriptor
        Parameters:
        name - Name of annotation.
        Returns:
        The annotation value or null.
      • isSimple

        public boolean isSimple()
        Specified by:
        isSimple in interface CMessageDescriptor
        Overrides:
        isSimple in class net.morimekta.providence.descriptor.PMessageDescriptor<CStruct,CField>
        Returns:
        True if the message is simple. A simple message contains no containers, and no sub-messages.
      • isJsonCompactible

        public boolean isJsonCompactible()
        Specified by:
        isJsonCompactible in interface net.morimekta.providence.serializer.json.JsonCompactibleDescriptor