Class PInterfaceDescriptor<T extends PMessage<T>>
- java.lang.Object
-
- net.morimekta.providence.descriptor.PDeclaredDescriptor<T>
-
- net.morimekta.providence.descriptor.PMessageDescriptor<T>
-
- net.morimekta.providence.descriptor.PInterfaceDescriptor<T>
-
- All Implemented Interfaces:
PDescriptor
public class PInterfaceDescriptor<T extends PMessage<T>> extends PMessageDescriptor<T>
The definition of a providence interface. This is a complete class, in order to minimize the need for generated code for interfaces.
-
-
Constructor Summary
Constructors Constructor Description PInterfaceDescriptor(java.lang.String programName, java.lang.String name, PField<T>[] fields, PMessageDescriptorProvider<?>... possibleTypes)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description PMessageBuilder<T>builder()Get the builder for the given declared type.PField<T>findFieldById(int id)PField<T>findFieldByName(java.lang.String name)PField<T>[]getFields()java.util.List<PMessageDescriptor<?>>getPossibleTypes()PMessageVariantgetVariant()-
Methods inherited from class net.morimekta.providence.descriptor.PMessageDescriptor
equals, fieldForId, fieldForName, getBuilderSupplier, getImplementing, getType, hashCode, isSimple
-
Methods inherited from class net.morimekta.providence.descriptor.PDeclaredDescriptor
getDefaultValue, getName, getProgramName, getQualifiedName, toString
-
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface net.morimekta.providence.descriptor.PDescriptor
getQualifiedName
-
-
-
-
Constructor Detail
-
PInterfaceDescriptor
public PInterfaceDescriptor(java.lang.String programName, java.lang.String name, PField<T>[] fields, PMessageDescriptorProvider<?>... possibleTypes)
-
-
Method Detail
-
getPossibleTypes
public java.util.List<PMessageDescriptor<?>> getPossibleTypes()
- Returns:
- Get a list of know possible types implementing this interface.
-
getVariant
@Nonnull public PMessageVariant getVariant()
- Specified by:
getVariantin classPMessageDescriptor<T extends PMessage<T>>- Returns:
- The struct variant.
-
getFields
@Nonnull public PField<T>[] getFields()
- Specified by:
getFieldsin classPMessageDescriptor<T extends PMessage<T>>- Returns:
- An unmodifiable list of fields that the struct holds.
-
findFieldByName
public PField<T> findFieldByName(java.lang.String name)
- Specified by:
findFieldByNamein classPMessageDescriptor<T extends PMessage<T>>- Parameters:
name- Name of field to get.- Returns:
- The field if present.
-
findFieldById
public PField<T> findFieldById(int id)
- Specified by:
findFieldByIdin classPMessageDescriptor<T extends PMessage<T>>- Parameters:
id- The ID of the field to get.- Returns:
- The field if present.
-
builder
@Nonnull public PMessageBuilder<T> builder()
Description copied from class:PDeclaredDescriptorGet the builder for the given declared type.- Overrides:
builderin classPMessageDescriptor<T extends PMessage<T>>- Returns:
- The type specific builder provider.
-
-