Package com._1c.g5.v8.dt.aef2.bm.models
Class BmValue<T>
- java.lang.Object
-
- com._1c.g5.aef2.validators.Validable
-
- com._1c.g5.aef2.models.Model
-
- com._1c.g5.aef2.models.EditableModel
-
- com._1c.g5.aef2.models.value.Value<T>
-
- com._1c.g5.v8.dt.aef2.bm.models.BmValue<T>
-
- All Implemented Interfaces:
IAttribute<IBmObject,org.eclipse.emf.ecore.EStructuralFeature>
,IEditableModel
,IEmfAttribute<IBmObject>
,IModel
,IEmfValueAttribute<T,IBmObject>
,IValue<T>
,IValidable
,IModelApiAwareModel
- Direct Known Subclasses:
AddInModel
,BmAdjustableBooleanModel
,BmBorderValue
,BmCharacteristicsDescriptionDataPathModel
,BmCharacteristicsDescriptionFieldModel
,BmCodeModel
,BmColorModel
,BmCommonAttributeDataSeparationModel
,BmCommonModuleEnvironmentModel
,BmConfigurationCompatibilityModeModel
,BmDocumentNumeratorValue
,BmEventSubscriptionEventsModel
,BmFontSelectionModel
,BmGraphicalSchemeLineModel
,BmHandlerModel
,BmInformationRegisterWriteModeModel
,BmInlineTaskValue
,BmMdObjectNameModel
,BmMdTypeLinkModel
,BmOpenMdHelpModel
,BmPictureModel
,BmPredefinedItemNameModel
,BmSkipNullValue
,BmStyleItemTypeModel
,BmUnsettablePropertyFieldModel
,BmValueModel
,BmValueSelectionModel
,BmValueUsedMobileApplicationFunctionalitiesModel
,BmVersionedValue
,GraphicalSchemeCaseValue
,GraphicalSchemeItemValue
,IBaseBmHandlerNameModel.BaseBmHandlerNameModel
,NavigatorTreeDialogActionBarBmValue
,PropertyStateModel
public class BmValue<T> extends Value<T> implements IEmfValueAttribute<T,IBmObject>, IModelApiAwareModel
Represents a BM object feature value.
-
-
Constructor Summary
Constructors Modifier Constructor Description BmValue(org.eclipse.emf.ecore.EObject object, org.eclipse.emf.ecore.EStructuralFeature feature)
Instantiates a new BM value.BmValue(org.eclipse.emf.ecore.EObject object, org.eclipse.emf.ecore.EStructuralFeature feature, boolean resolve)
Instantiates a new BM value.protected
BmValue(org.eclipse.emf.ecore.EObject object, org.eclipse.emf.ecore.EStructuralFeature feature, T initialValue)
Instantiates a new BM value with initial value.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description protected static IModelApiTaskN<Void>
adapt(IBmTask<?> bmTask)
Converts the specified BM task toIModelApiTaskN
.protected IModelApiTaskN<Void>
createTask(IBmObject object, org.eclipse.emf.ecore.EStructuralFeature feature, T valueToApply)
Creates anIModelApiTaskN
that executes during applying changes.void
dispose()
Disposes this model.IChange
getChange()
IModelApi
getModelApi()
Returns the model API.IBmObject
getObject()
Returns the object that keeps the attribute.protected T
getObjectValue(org.eclipse.emf.ecore.EObject object, org.eclipse.emf.ecore.EStructuralFeature feature, boolean resolve)
Gets the current value of the provided model object feature.org.eclipse.emf.ecore.EStructuralFeature
getProperty()
Returns the property.protected void
processBmValueChange(Object value)
Process the BM value change and apply changes to thisBmValue
.void
setModelApi(IModelApi modelApi)
Sets the specified API to the model.protected void
setObjectValue(org.eclipse.emf.ecore.EObject object, org.eclipse.emf.ecore.EStructuralFeature feature, T newValue)
Sets the new value of the provided model object feature during the commit.
The method is invoked within the task, so the given objects have the relevant state (e.g.-
Methods inherited from class com._1c.g5.aef2.models.value.Value
addValueListener, createWorkingCopy, discard, get, getCommittedValue, getUncommittedValue, getValidatorTarget, isEqual, notifyValueChanged, queueNotifyValueChanged, removeValueListener, set, setCommittedValue, setUncommittedValue, setValue, toString
-
Methods inherited from class com._1c.g5.aef2.models.EditableModel
isEditable, setEditable
-
Methods inherited from class com._1c.g5.aef2.models.Model
addModelListener, beginExternalUpdate, checkOffline, checkOnline, commit, endExternalUpdate, getComponent, getCurrentChangeOrigin, getRunnableQueue, isOnline, notifyModelChanged, notifyModelCommitted, removeModelListener, setComponent, setOnline
-
Methods inherited from class com._1c.g5.aef2.validators.Validable
addValidator, removeValidator, validate, validate
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface com._1c.g5.aef2.models.IModel
addModelListener, commit, discard, getComponent, isOnline, removeModelListener, setComponent
-
Methods inherited from interface com._1c.g5.aef2.validators.IValidable
addValidator, removeValidator, validate, validate
-
Methods inherited from interface com._1c.g5.aef2.models.value.IValue
addValueListener, createWorkingCopy, get, isEqual, removeValueListener, set
-
-
-
-
Constructor Detail
-
BmValue
public BmValue(org.eclipse.emf.ecore.EObject object, org.eclipse.emf.ecore.EStructuralFeature feature)
Instantiates a new BM value.- Parameters:
object
- the object, cannot benull
feature
- the object feature, cannot benull
-
BmValue
public BmValue(org.eclipse.emf.ecore.EObject object, org.eclipse.emf.ecore.EStructuralFeature feature, boolean resolve)
Instantiates a new BM value.- Parameters:
object
- the object, cannot benull
feature
- the object feature, cannot benull
resolve
-true
if need resolve object forfeature
,false
otherwise
-
BmValue
protected BmValue(org.eclipse.emf.ecore.EObject object, org.eclipse.emf.ecore.EStructuralFeature feature, T initialValue)
Instantiates a new BM value with initial value. It is client responsibility to provide valid initial value.- Parameters:
object
- the object, cannot benull
feature
- the object feature, cannot benull
initialValue
- the initial value, can benull
-
-
Method Detail
-
getChange
public IChange getChange()
-
dispose
public void dispose()
Description copied from interface:IModel
Disposes this model.
-
getObject
public IBmObject getObject()
Description copied from interface:IAttribute
Returns the object that keeps the attribute.- Specified by:
getObject
in interfaceIAttribute<IBmObject,org.eclipse.emf.ecore.EStructuralFeature>
- Returns:
- the object that keeps the attribute.
-
getProperty
public org.eclipse.emf.ecore.EStructuralFeature getProperty()
Description copied from interface:IAttribute
Returns the property.- Specified by:
getProperty
in interfaceIAttribute<IBmObject,org.eclipse.emf.ecore.EStructuralFeature>
- Returns:
- the property.
-
setModelApi
public void setModelApi(IModelApi modelApi)
Description copied from interface:IModelApiAwareModel
Sets the specified API to the model.- Specified by:
setModelApi
in interfaceIModelApiAwareModel
- Parameters:
modelApi
- the API, can benull
.
-
getModelApi
public IModelApi getModelApi()
Description copied from interface:IModelApiAwareModel
Returns the model API.- Specified by:
getModelApi
in interfaceIModelApiAwareModel
- Returns:
- the model API or
null
if it is not set.
-
createTask
protected IModelApiTaskN<Void> createTask(IBmObject object, org.eclipse.emf.ecore.EStructuralFeature feature, T valueToApply)
Creates anIModelApiTaskN
that executes during applying changes.- Parameters:
object
- the object to change, cannot benull
.feature
- the feature the feature to change, cannot benull
.valueToApply
- the value to apply.- Returns:
- the created
IModelApiTaskN
.
-
getObjectValue
protected T getObjectValue(org.eclipse.emf.ecore.EObject object, org.eclipse.emf.ecore.EStructuralFeature feature, boolean resolve)
Gets the current value of the provided model object feature.- Parameters:
object
- the object to get new value, cannot benull
feature
- the feture to get, cannot benull
- Returns:
- the current value, can be
null
-
setObjectValue
protected void setObjectValue(org.eclipse.emf.ecore.EObject object, org.eclipse.emf.ecore.EStructuralFeature feature, T newValue)
Sets the new value of the provided model object feature during the commit.
The method is invoked within the task, so the given objects have the relevant state (e.g. attached to transaction).- Parameters:
object
- the object to set new value, cannot benull
.feature
- the feture to set, cannot benull
.newValue
- the new value to set, can benull
.
-
processBmValueChange
protected void processBmValueChange(Object value)
Process the BM value change and apply changes to thisBmValue
.- Parameters:
value
- the new value, can benull
-
adapt
protected static IModelApiTaskN<Void> adapt(IBmTask<?> bmTask)
Converts the specified BM task toIModelApiTaskN
.NOTE: this method is required until exists the API (tasks) that encapsulates the business logic in the BM task manner.
- Parameters:
bmTask
- the BM task, cannot benull
.- Returns:
- model api task, never
null
.
-
-