/*-
* ============LICENSE_START==========================================
* OPENECOMP - DCAE
* ===================================================================
* Copyright (c) 2017 AT&T Intellectual Property. All rights reserved.
* ===================================================================
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
* ============LICENSE_END============================================
*/
/**
*/
package org.openecomp.ncomp.core.function.impl;
import org.openecomp.ncomp.core.function.FunctionMatchMetric;
import org.openecomp.ncomp.core.function.FunctionPackage;
import org.openecomp.ncomp.core.metrics.MetricValueOption;
import org.eclipse.emf.common.notify.Notification;
import org.eclipse.emf.ecore.EClass;
import org.eclipse.emf.ecore.InternalEObject;
import org.eclipse.emf.ecore.impl.ENotificationImpl;
/**
*
* An implementation of the model object 'Match Metric'.
*
*
* The following features are implemented:
*
* - {@link org.openecomp.ncomp.core.function.impl.FunctionMatchMetricImpl#getPath Path}
* - {@link org.openecomp.ncomp.core.function.impl.FunctionMatchMetricImpl#getOption Option}
* - {@link org.openecomp.ncomp.core.function.impl.FunctionMatchMetricImpl#getLowerBound Lower Bound}
* - {@link org.openecomp.ncomp.core.function.impl.FunctionMatchMetricImpl#getUpperBound Upper Bound}
* - {@link org.openecomp.ncomp.core.function.impl.FunctionMatchMetricImpl#isNegation Negation}
*
*
*
* @generated
*/
public class FunctionMatchMetricImpl extends FunctionMatchImpl implements FunctionMatchMetric {
/**
* The default value of the '{@link #getPath() Path}' attribute.
*
*
* @see #getPath()
* @generated
* @ordered
*/
protected static final String PATH_EDEFAULT = null;
/**
* The cached value of the '{@link #getPath() Path}' attribute.
*
*
* @see #getPath()
* @generated
* @ordered
*/
protected String path = PATH_EDEFAULT;
/**
* The cached value of the '{@link #getOption() Option}' reference.
*
*
* @see #getOption()
* @generated
* @ordered
*/
protected MetricValueOption option;
/**
* The default value of the '{@link #getLowerBound() Lower Bound}' attribute.
*
*
* @see #getLowerBound()
* @generated
* @ordered
*/
protected static final Double LOWER_BOUND_EDEFAULT = null;
/**
* The cached value of the '{@link #getLowerBound() Lower Bound}' attribute.
*
*
* @see #getLowerBound()
* @generated
* @ordered
*/
protected Double lowerBound = LOWER_BOUND_EDEFAULT;
/**
* The default value of the '{@link #getUpperBound() Upper Bound}' attribute.
*
*
* @see #getUpperBound()
* @generated
* @ordered
*/
protected static final Double UPPER_BOUND_EDEFAULT = null;
/**
* The cached value of the '{@link #getUpperBound() Upper Bound}' attribute.
*
*
* @see #getUpperBound()
* @generated
* @ordered
*/
protected Double upperBound = UPPER_BOUND_EDEFAULT;
/**
* The default value of the '{@link #isNegation() Negation}' attribute.
*
*
* @see #isNegation()
* @generated
* @ordered
*/
protected static final boolean NEGATION_EDEFAULT = false;
/**
* The cached value of the '{@link #isNegation() Negation}' attribute.
*
*
* @see #isNegation()
* @generated
* @ordered
*/
protected boolean negation = NEGATION_EDEFAULT;
/**
*
*
* @generated
*/
protected FunctionMatchMetricImpl() {
super();
}
/**
*
*
* @generated
*/
@Override
protected EClass eStaticClass() {
return FunctionPackage.Literals.FUNCTION_MATCH_METRIC;
}
/**
*
*
* @generated
*/
public String getPath() {
return path;
}
/**
*
*
* @generated
*/
public void setPath(String newPath) {
String oldPath = path;
path = newPath;
if (eNotificationRequired())
eNotify(new ENotificationImpl(this, Notification.SET, FunctionPackage.FUNCTION_MATCH_METRIC__PATH, oldPath, path));
}
/**
*
*
* @generated
*/
public MetricValueOption getOption() {
if (option != null && option.eIsProxy()) {
InternalEObject oldOption = (InternalEObject)option;
option = (MetricValueOption)eResolveProxy(oldOption);
if (option != oldOption) {
if (eNotificationRequired())
eNotify(new ENotificationImpl(this, Notification.RESOLVE, FunctionPackage.FUNCTION_MATCH_METRIC__OPTION, oldOption, option));
}
}
return option;
}
/**
*
*
* @generated
*/
public MetricValueOption basicGetOption() {
return option;
}
/**
*
*
* @generated
*/
public void setOption(MetricValueOption newOption) {
MetricValueOption oldOption = option;
option = newOption;
if (eNotificationRequired())
eNotify(new ENotificationImpl(this, Notification.SET, FunctionPackage.FUNCTION_MATCH_METRIC__OPTION, oldOption, option));
}
/**
*
*
* @generated
*/
public Double getLowerBound() {
return lowerBound;
}
/**
*
*
* @generated
*/
public void setLowerBound(Double newLowerBound) {
Double oldLowerBound = lowerBound;
lowerBound = newLowerBound;
if (eNotificationRequired())
eNotify(new ENotificationImpl(this, Notification.SET, FunctionPackage.FUNCTION_MATCH_METRIC__LOWER_BOUND, oldLowerBound, lowerBound));
}
/**
*
*
* @generated
*/
public Double getUpperBound() {
return upperBound;
}
/**
*
*
* @generated
*/
public void setUpperBound(Double newUpperBound) {
Double oldUpperBound = upperBound;
upperBound = newUpperBound;
if (eNotificationRequired())
eNotify(new ENotificationImpl(this, Notification.SET, FunctionPackage.FUNCTION_MATCH_METRIC__UPPER_BOUND, oldUpperBound, upperBound));
}
/**
*
*
* @generated
*/
public boolean isNegation() {
return negation;
}
/**
*
*
* @generated
*/
public void setNegation(boolean newNegation) {
boolean oldNegation = negation;
negation = newNegation;
if (eNotificationRequired())
eNotify(new ENotificationImpl(this, Notification.SET, FunctionPackage.FUNCTION_MATCH_METRIC__NEGATION, oldNegation, negation));
}
/**
*
*
* @generated
*/
@Override
public Object eGet(int featureID, boolean resolve, boolean coreType) {
switch (featureID) {
case FunctionPackage.FUNCTION_MATCH_METRIC__PATH:
return getPath();
case FunctionPackage.FUNCTION_MATCH_METRIC__OPTION:
if (resolve) return getOption();
return basicGetOption();
case FunctionPackage.FUNCTION_MATCH_METRIC__LOWER_BOUND:
return getLowerBound();
case FunctionPackage.FUNCTION_MATCH_METRIC__UPPER_BOUND:
return getUpperBound();
case FunctionPackage.FUNCTION_MATCH_METRIC__NEGATION:
return isNegation();
}
return super.eGet(featureID, resolve, coreType);
}
/**
*
*
* @generated
*/
@Override
public void eSet(int featureID, Object newValue) {
switch (featureID) {
case FunctionPackage.FUNCTION_MATCH_METRIC__PATH:
setPath((String)newValue);
return;
case FunctionPackage.FUNCTION_MATCH_METRIC__OPTION:
setOption((MetricValueOption)newValue);
return;
case FunctionPackage.FUNCTION_MATCH_METRIC__LOWER_BOUND:
setLowerBound((Double)newValue);
return;
case FunctionPackage.FUNCTION_MATCH_METRIC__UPPER_BOUND:
setUpperBound((Double)newValue);
return;
case FunctionPackage.FUNCTION_MATCH_METRIC__NEGATION:
setNegation((Boolean)newValue);
return;
}
super.eSet(featureID, newValue);
}
/**
*
*
* @generated
*/
@Override
public void eUnset(int featureID) {
switch (featureID) {
case FunctionPackage.FUNCTION_MATCH_METRIC__PATH:
setPath(PATH_EDEFAULT);
return;
case FunctionPackage.FUNCTION_MATCH_METRIC__OPTION:
setOption((MetricValueOption)null);
return;
case FunctionPackage.FUNCTION_MATCH_METRIC__LOWER_BOUND:
setLowerBound(LOWER_BOUND_EDEFAULT);
return;
case FunctionPackage.FUNCTION_MATCH_METRIC__UPPER_BOUND:
setUpperBound(UPPER_BOUND_EDEFAULT);
return;
case FunctionPackage.FUNCTION_MATCH_METRIC__NEGATION:
setNegation(NEGATION_EDEFAULT);
return;
}
super.eUnset(featureID);
}
/**
*
*
* @generated
*/
@Override
public boolean eIsSet(int featureID) {
switch (featureID) {
case FunctionPackage.FUNCTION_MATCH_METRIC__PATH:
return PATH_EDEFAULT == null ? path != null : !PATH_EDEFAULT.equals(path);
case FunctionPackage.FUNCTION_MATCH_METRIC__OPTION:
return option != null;
case FunctionPackage.FUNCTION_MATCH_METRIC__LOWER_BOUND:
return LOWER_BOUND_EDEFAULT == null ? lowerBound != null : !LOWER_BOUND_EDEFAULT.equals(lowerBound);
case FunctionPackage.FUNCTION_MATCH_METRIC__UPPER_BOUND:
return UPPER_BOUND_EDEFAULT == null ? upperBound != null : !UPPER_BOUND_EDEFAULT.equals(upperBound);
case FunctionPackage.FUNCTION_MATCH_METRIC__NEGATION:
return negation != NEGATION_EDEFAULT;
}
return super.eIsSet(featureID);
}
/**
*
*
* @generated
*/
@Override
public String toString() {
if (eIsProxy()) return super.toString();
StringBuffer result = new StringBuffer(super.toString());
result.append(" (path: ");
result.append(path);
result.append(", lowerBound: ");
result.append(lowerBound);
result.append(", upperBound: ");
result.append(upperBound);
result.append(", negation: ");
result.append(negation);
result.append(')');
return result.toString();
}
} //FunctionMatchMetricImpl