Class ReferenceConfigSupplier<RefMessage extends PMessage<RefMessage>,ParentMessage extends PMessage<ParentMessage>>
- java.lang.Object
-
- net.morimekta.providence.config.impl.UpdatingConfigSupplier<RefMessage>
-
- net.morimekta.providence.config.impl.ReferenceConfigSupplier<RefMessage,ParentMessage>
-
- All Implemented Interfaces:
java.util.function.Supplier<RefMessage>
,ConfigSupplier<RefMessage>
public class ReferenceConfigSupplier<RefMessage extends PMessage<RefMessage>,ParentMessage extends PMessage<ParentMessage>> extends UpdatingConfigSupplier<RefMessage>
A supplier to get a config (aka message) from a resource location. This is a fixed static supplier, so listening to changes will never do anything.ConfigSupplier<Service, Service._Field> supplier = new SerializedConfigSupplier<>(referencePath, Service.kDescriptor);
-
-
Constructor Summary
Constructors Constructor Description ReferenceConfigSupplier(ConfigSupplier<ParentMessage> parent, java.time.Clock clock, PField... fieldRefs)
Create a config that wraps a providence message instance, and fetches a message from within that parent config.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description java.lang.String
getName()
Get a simple descriptive name for this config supplier.java.lang.String
toString()
-
Methods inherited from class net.morimekta.providence.config.impl.UpdatingConfigSupplier
addListener, configTimestamp, get, getClock, reference, removeListener, set
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface net.morimekta.providence.config.ConfigSupplier
override, override, snapshot
-
-
-
-
Constructor Detail
-
ReferenceConfigSupplier
public ReferenceConfigSupplier(ConfigSupplier<ParentMessage> parent, java.time.Clock clock, PField... fieldRefs) throws ConfigException
Create a config that wraps a providence message instance, and fetches a message from within that parent config. It is not allowed to have it return a null, meaning for the reference config to be valid, the reference must exist.- Parameters:
parent
- The message type descriptor.clock
- The clock to use for timing.fieldRefs
- Fields to reference.- Throws:
ConfigException
- If message overriding failed
-
-
Method Detail
-
toString
public java.lang.String toString()
- Overrides:
toString
in classjava.lang.Object
-
getName
public java.lang.String getName()
Description copied from interface:ConfigSupplier
Get a simple descriptive name for this config supplier.- Returns:
- The supplier name.
-
-