Class TeamSourceContextWrapper
java.lang.Object
net.officefloor.frame.impl.construct.source.SourcePropertiesImpl
net.officefloor.frame.impl.construct.source.SourceContextImpl
net.officefloor.frame.api.executive.TeamSourceContextWrapper
- All Implemented Interfaces:
ServiceContext,SourceContext,SourceProperties,TeamSourceContext
Wrapper of
TeamSourceContext to enable customising the Team.- Author:
- Daniel Sagenschneider
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic interface -
Constructor Summary
ConstructorsConstructorDescriptionTeamSourceContextWrapper(ExecutiveContext context, Function<Integer, Integer> teamSizeCalculator, String teamNameSuffix, TeamSourceContextWrapper.WorkerEnvironment workerEnvironment) Instantiate. -
Method Summary
Modifier and TypeMethodDescriptionObtains the name of theTeamto be created from theTeamSource.intObtains the size of theTeam.intgetTeamSize(int defaultSize) Allows obtaining the size of theTeam, without forcing it to be configured.Obtains theThreadFactoryfor theTeam.Methods inherited from class net.officefloor.frame.impl.construct.source.SourceContextImpl
getClassLoader, getClock, getLogger, getName, getOptionalResource, getProfiles, getResource, isLoadingType, loadClass, loadOptionalClass, loadOptionalService, loadOptionalServices, loadService, loadService, loadServicesMethods inherited from class net.officefloor.frame.impl.construct.source.SourcePropertiesImpl
addProperty, getProperties, getProperty, getProperty, getPropertyNamesMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface net.officefloor.frame.api.source.SourceContext
getClassLoader, getClock, getLogger, getName, getOptionalResource, getProfiles, getResource, isLoadingType, loadClass, loadOptionalClass, loadOptionalService, loadOptionalServices, loadService, loadService, loadServicesMethods inherited from interface net.officefloor.frame.api.source.SourceProperties
getProperties, getProperty, getProperty, getPropertyNames
-
Constructor Details
-
TeamSourceContextWrapper
public TeamSourceContextWrapper(ExecutiveContext context, Function<Integer, Integer> teamSizeCalculator, String teamNameSuffix, TeamSourceContextWrapper.WorkerEnvironment workerEnvironment) Instantiate.- Parameters:
context-ExecutiveContext.teamSizeCalculator- Calculates theTeamsize from the configuredTeamsize.teamNameSuffix- Optional suffix for theTeamname. May benullfor no suffix.workerEnvironment-TeamSourceContextWrapper.WorkerEnvironment. May benull.
-
-
Method Details
-
getTeamName
Description copied from interface:TeamSourceContextObtains the name of the
Teamto be created from theTeamSource.This enables naming the
Threadinstances for theTeamto be specific to theTeam.- Specified by:
getTeamNamein interfaceTeamSourceContext- Returns:
- Name of the
Teamto be created from theTeamSource.
-
getTeamSize
public int getTeamSize()Description copied from interface:TeamSourceContextObtains the size of the
Team.Typically this is the maximum number of
Threadinstances for theTeam. However, for someTeamimplementations it may not be used (e.g.PassiveTeamSource).It is provided to allow the
Executiveto have some control overTeamsizes.- Specified by:
getTeamSizein interfaceTeamSourceContext- Returns:
Teamsize.
-
getTeamSize
public int getTeamSize(int defaultSize) Description copied from interface:TeamSourceContextAllows obtaining the size of theTeam, without forcing it to be configured.- Specified by:
getTeamSizein interfaceTeamSourceContext- Parameters:
defaultSize- Default size of theTeam, if no size configured.- Returns:
Teamsize.
-
getThreadFactory
Description copied from interface:TeamSourceContextObtains the
ThreadFactoryfor theTeam.It is encouraged for
Teamimplementations to use this in creatingThreadinstances. This is to enable performance improvements byOfficeFloor, such asThreadLocalManagedObjectPoolsolutions to reduce pool locking overheads.- Specified by:
getThreadFactoryin interfaceTeamSourceContext- Returns:
ThreadFactoryfor theTeam.
-