Class AbstractAdaptedConnectableFactory<R extends Model,O,M extends Model,E extends java.lang.Enum<E>,A extends AdaptedModel<M>>
- java.lang.Object
-
- net.officefloor.gef.editor.internal.models.AbstractAdaptedFactory<R,O,M,E,A>
-
- net.officefloor.gef.editor.internal.models.AbstractAdaptedConnectableFactory<R,O,M,E,A>
-
- All Implemented Interfaces:
AdaptedConnectableBuilder<R,O,M,E>
- Direct Known Subclasses:
AdaptedAreaFactory,AdaptedChildFactory
public abstract class AbstractAdaptedConnectableFactory<R extends Model,O,M extends Model,E extends java.lang.Enum<E>,A extends AdaptedModel<M>> extends AbstractAdaptedFactory<R,O,M,E,A> implements AdaptedConnectableBuilder<R,O,M,E>
Factory for a connectableAdaptedModel.- Author:
- Daniel Sagenschneider
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description protected static classAbstractAdaptedConnectableFactory.AbstractAdaptedConnectable<R extends Model,O,M extends Model,E extends java.lang.Enum<E>,A extends AdaptedConnectable<M>,F extends AbstractAdaptedConnectableFactory<R,O,M,E,A>>AdaptedChildimplementation.-
Nested classes/interfaces inherited from class net.officefloor.gef.editor.internal.models.AbstractAdaptedFactory
AbstractAdaptedFactory.AbstractAdaptedModel<R extends Model,O,M extends Model,E extends java.lang.Enum<E>,A extends AdaptedModel<M>,F extends AbstractAdaptedFactory<R,O,M,E,A>>
-
-
Field Summary
Fields Modifier and Type Field Description protected java.util.Map<net.officefloor.gef.editor.internal.models.AbstractAdaptedConnectableFactory.ConnectionKey,AdaptedConnectionFactory<R,O,?,?,?>>connectionFactoriesprotected java.util.Map<java.lang.Class<? extends ConnectionModel>,ModelToConnection<R,O,M,E,? extends ConnectionModel>>connectionsModelToConnectioninstances.protected MmodelPrototypeModelprototype.protected javafx.beans.property.Property<java.lang.String>stylesheetContentStylesheet content.protected javafx.beans.property.ReadOnlyProperty<java.net.URL>stylesheetUrlReadOnlyPropertyto the style sheetURL.
-
Constructor Summary
Constructors Modifier Constructor Description AbstractAdaptedConnectableFactory(java.lang.String configurationPathPrefix, M modelPrototype, java.util.function.Supplier<A> newAdaptedModel, AbstractAdaptedFactory<R,O,?,?,?> parentAdaptedFactory)Instantiate asAdaptedChild.protectedAbstractAdaptedConnectableFactory(java.lang.String configurationPathPrefix, M modelPrototype, java.util.function.Supplier<A> newAdaptedModel, OfficeFloorContentPartFactory<R,O> contentPartFactory)AllowAdaptedParentBuilderinheritance.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description <C extends ConnectionModel>
AdaptedConnectionBuilder<R,O,M,C,E>connectMany(java.lang.Class<C> connectionClass, java.util.function.Function<M,java.util.List<C>> getConnections, java.util.function.Function<C,M> getSource, E... connectionChangeEvents)Registers multipleConnectionModelfrom thisAdaptedModel.<C extends ConnectionModel>
AdaptedConnectionBuilder<R,O,M,C,E>connectOne(java.lang.Class<C> connectionClass, java.util.function.Function<M,C> getConnection, java.util.function.Function<C,M> getSource, E... connectionChangeEvents)Registers aConnectionModelfrom thisAdaptedModel.voidloadModelToConnection(java.lang.Class<? extends ConnectionModel> connectionClass, ModelToConnection<R,O,?,?,?> modelToConnection)Loads theModeltoConnectionModel.javafx.beans.property.Property<java.lang.String>style()Obtains thePropertyto the style sheet rules for theAdaptedChild.voidvalidate()Undertake validation.-
Methods inherited from class net.officefloor.gef.editor.internal.models.AbstractAdaptedFactory
getAdaptedModel, getConfigurationPath, getContentPartFactory, getInjector, getModelClass, getModelFactory, init, newAdaptedModel, registerEventListener
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface net.officefloor.gef.editor.AdaptedConnectableBuilder
getConfigurationPath, getModelClass
-
-
-
-
Field Detail
-
stylesheetContent
protected final javafx.beans.property.Property<java.lang.String> stylesheetContent
Stylesheet content.
-
connections
protected final java.util.Map<java.lang.Class<? extends ConnectionModel>,ModelToConnection<R extends Model,O,M extends Model,E extends java.lang.Enum<E>,? extends ConnectionModel>> connections
ModelToConnectioninstances.
-
connectionFactories
protected final java.util.Map<net.officefloor.gef.editor.internal.models.AbstractAdaptedConnectableFactory.ConnectionKey,AdaptedConnectionFactory<R extends Model,O,?,?,?>> connectionFactories
-
stylesheetUrl
protected javafx.beans.property.ReadOnlyProperty<java.net.URL> stylesheetUrl
ReadOnlyPropertyto the style sheetURL.
-
-
Constructor Detail
-
AbstractAdaptedConnectableFactory
public AbstractAdaptedConnectableFactory(java.lang.String configurationPathPrefix, M modelPrototype, java.util.function.Supplier<A> newAdaptedModel, AbstractAdaptedFactory<R,O,?,?,?> parentAdaptedFactory)Instantiate asAdaptedChild.- Parameters:
configurationPathPrefix- Prefix on the configuration path.modelPrototype-Modelprototype.newAdaptedModel-Supplierfor theAdaptedModel.parentAdaptedFactory- ParentAbstractAdaptedFactory.
-
AbstractAdaptedConnectableFactory
protected AbstractAdaptedConnectableFactory(java.lang.String configurationPathPrefix, M modelPrototype, java.util.function.Supplier<A> newAdaptedModel, OfficeFloorContentPartFactory<R,O> contentPartFactory)AllowAdaptedParentBuilderinheritance.- Parameters:
configurationPathPrefix- Prefix on the configuration path.modelPrototype-Modelprototype.newAdaptedModel-Supplierfor theAdaptedModel.contentPartFactory-OfficeFloorContentPartFactory.
-
-
Method Detail
-
loadModelToConnection
public void loadModelToConnection(java.lang.Class<? extends ConnectionModel> connectionClass, ModelToConnection<R,O,?,?,?> modelToConnection)
Loads theModeltoConnectionModel.- Parameters:
connectionClass-Classof theConnectionModel.modelToConnection-ModelToConnection.
-
validate
public void validate() throws java.lang.IllegalStateExceptionDescription copied from class:AbstractAdaptedFactoryUndertake validation.
-
style
public javafx.beans.property.Property<java.lang.String> style()
Description copied from interface:AdaptedConnectableBuilderObtains the
Propertyto the style sheet rules for theAdaptedChild.Note: this is NOT the style sheet
URL. This is the style sheet rules (content of style sheet) and theAdaptedChildwill handle making available toParentas aURL.
-
connectOne
@SafeVarargs public final <C extends ConnectionModel> AdaptedConnectionBuilder<R,O,M,C,E> connectOne(java.lang.Class<C> connectionClass, java.util.function.Function<M,C> getConnection, java.util.function.Function<C,M> getSource, E... connectionChangeEvents)
Description copied from interface:AdaptedConnectableBuilderRegisters aConnectionModelfrom thisAdaptedModel.- Specified by:
connectOnein interfaceAdaptedConnectableBuilder<R extends Model,O,M extends Model,E extends java.lang.Enum<E>>- Type Parameters:
C-ConnectionModeltype.- Parameters:
connectionClass-ConnectionModelClass.getConnection-Functionto get theConnectionModelfrom theModel.getSource-Functionto get the sourceModelfrom theConnectionModel.connectionChangeEvents-Enumevents fired by the model forConnectionModelchange.- Returns:
AdaptedConnectionBuilderfor theConnectionModel.
-
connectMany
@SafeVarargs public final <C extends ConnectionModel> AdaptedConnectionBuilder<R,O,M,C,E> connectMany(java.lang.Class<C> connectionClass, java.util.function.Function<M,java.util.List<C>> getConnections, java.util.function.Function<C,M> getSource, E... connectionChangeEvents)
Description copied from interface:AdaptedConnectableBuilderRegisters multipleConnectionModelfrom thisAdaptedModel.- Specified by:
connectManyin interfaceAdaptedConnectableBuilder<R extends Model,O,M extends Model,E extends java.lang.Enum<E>>- Type Parameters:
C-ConnectionModeltype.- Parameters:
connectionClass-ConnectionModelclass.getConnections-Functionto get theListofConnectionModelinstances from theModel.getSource-Functionto get the sourceModelfrom theConnectionModel.connectionChangeEvents-Enumevents fired by the model forConnectionModelchange.- Returns:
AdaptedConnectionBuilderfor theConnectionModel.
-
-