- All Superinterfaces:
NamedObject
,Transceiver
,Transmitter<Transmittable>
- All Known Subinterfaces:
Component
,ComponentMixin
,Converter<From,To>
,Extractor<Value,From>
,FileService
,NetworkResource
,Repeater
,RepeaterMixin
,Resource
,SerializationSession
,StringConverter<Value>
,TwoWayConverter<From,To>
,WritableResource
- All Known Implementing Classes:
Application
,AttachmentConverter
,AttachmentListConverter
,BaseCollectionChangeWatcher
,BaseCollectionConverter
,BaseComponent
,BaseConverter
,BaseExtractor
,BaseFormattedConverter
,BaseFormattedLocalTimeConverter
,BaseHttpResource
,BaseListConverter
,BaseNetworkResource
,BaseReadableResource
,BaseRepeater
,BaseSetConverter
,BaseStringConverter
,BaseWritableResource
,Batcher
,BatcherTest
,BatcherTest.TestBatcher
,BodyConverter
,BooleanConverter
,Bytes.Converter
,ClassConverter
,ConcurrentProgress
,Confidence.Converter
,ConnectionListener
,CoreApplicationProject
,CoreCollectionsProject
,CoreCommandLineProject
,CoreConfigurationProject
,CoreNetworkEmailProject
,CoreNetworkFtpProject
,CoreNetworkHttpProject
,CoreNetworkSocketProject
,CoreSecurityProject
,CoreTestProject
,Count.Converter
,DateTimeConverter
,Deployment
,Deployment.Converter
,DeploymentSet
,DoubleConverter
,Duration.Converter
,Duration.MillisecondsConverter
,Duration.SecondsConverter
,EmailAddress.Converter
,EmailAddressConverter
,EmailAddressSetConverter
,EmailSender
,EnumConverter
,EnumListConverter
,EnumSetConverter
,FieldArchive
,File
,File.Converter
,FileCache
,FileList.Converter
,FilePath.Converter
,FloatConverter
,Folder
,Folder.Converter
,FolderChangeWatcher
,FolderList.Converter
,FormattedDoubleConverter
,FormattedIntegerConverter
,FormattedLongConverter
,Frequency.Converter
,FtpResource
,HexadecimalLongConverter
,Host.Converter
,HttpDateTimeConverter
,HttpGetResource
,HttpNetworkLocation.Converter
,HttpPostResource
,HttpPutResource
,HumanizedLocalDateTimeConverter
,Identifier.Converter
,IdentityConverter
,InputResource
,IntegerConverter
,IntegerIdentifier.Converter
,IsoLocalDateTimeConverter
,JarLauncher
,KernelProject
,KivaKit
,KivaKitThread
,KryoSerializationSession
,LanguageIsoCode.Converter
,Level.Converter
,LineReader
,LocalDateConverter
,LocalDateTimeConverter
,LocalDateTimeWithMillisecondsConverter
,LocalDateTimeWithSecondsConverter
,LocalTimeConverter
,LongConverter
,Maximum.Converter
,MessageChecker
,Minimum.Converter
,Multicaster
,NetworkCoreProject
,NetworkLocation.Converter
,NetworkPath.Converter
,NullResource
,OutputResource
,PackageResource
,PatternConverter
,Percent.Converter
,PeriodicCollectionChangeWatcher
,PlainTextPassword.Converter
,Port.Converter
,Port.ListConverter
,Progress
,Project
,Quantizable.Converter
,RepeatingKivaKitThread
,Resource.Converter
,ResourceFolder.Converter
,ResourceList.Converter
,ResourcePath.Converter
,ResourceProject
,ResourceSection
,Retry
,SecureFtpResource
,SecureHttpGetResource
,SecureHttpPostResource
,SerializationCoreProject
,SerializationJerseyJsonProject
,SerializationJsonProject
,SerializationKryoProject
,Server
,Settings
,SettingsFolder
,SettingsPackage
,SftpFolderWatcher
,SmtpEmailSender
,StateMachine
,StringList.Converter
,StringResource
,ThrowableConverter
,UserName.Converter
,UtcDateTimeConverter
,VersionConverter
,VirtualReferenceTracker
,ZipEntry
,ZoneIdConverter
Broadcasts a message to zero or more listeners via
transmit(Transmittable)
. Listeners can be added with
addListener(Listener)
and can be cleared with clearListeners()
. A number of convenience methods in
the Transceiver
superclass make it easier to broadcast specific messages.
Convenience Methods
A number of convenience methods in the Transceiver
superinterface make it easy to transmit specific common
messages. Repeater
s are Broadcaster
s (as well as Listener
s) which inherit the methods in this
class as well as those in Transceiver
. For details on how to take advantage of this in object design, see
Repeater
.
- Author:
- jonathanl (shibo)
- See Also:
Transceiver
,Broadcaster
,Repeater
,Listener
,Message
, State(Art) Blog Article
-
Method Summary
Modifier and TypeMethodDescriptiondefault void
addListener(Listener listener)
Adds a listener to this broadcaster that wants to receive future messages.void
addListener(Listener listener, Filter<Transmittable> filter)
Adds a listener to this broadcaster that wants to receive future messages.void
Removes all listeners from this broadcasterboolean
Not public APIvoid
messageSource(Broadcaster parent)
Not public APIdefault void
onHandle(Transmittable message)
A broadcaster handles a message by transmitting itdefault void
onTransmit(Transmittable message)
Not public APIvoid
removeListener(Listener listener)
Removes the given listener from this broadcasterdefault void
silence()
Causes this broadcaster to broadcast only to the null listenerdefault void
transmit(Transmittable message)
Not public APIdefault void
default void
transmitAll(Iterable<Transmittable> messages)
Broadcasts the given messages to any listeners in the audience of this broadcasterMethods inherited from interface com.telenav.kivakit.kernel.interfaces.naming.NamedObject
objectName, objectName
Methods inherited from interface com.telenav.kivakit.kernel.messaging.Transceiver
announce, debug, debugClassContext, debugCodeContext, debugCodeContext, fatal, fatal, glitch, glitch, glitch, glitch, halt, halt, handle, ifDebug, illegalArgument, illegalState, illegalState, information, isDebugOn, isOn, narrate, problem, problem, problem, problem, quibble, quibble, quibble, quibble, trace, trace, trace, trace, warning, warning, warning, warning
-
Method Details
-
clearListeners
void clearListeners()Removes all listeners from this broadcaster -
hasListeners
boolean hasListeners()- Returns:
- True if this broadcaster has any listeners
-
messageSource
Broadcaster messageSource()Not public API -
silence
default void silence()Causes this broadcaster to broadcast only to the null listener -
transmitAll
Broadcasts the given messages to any listeners in the audience of this broadcaster- Parameters:
messages
- The messages to broadcast