/*******************************************************************************
* Copyright (c) 2014, 2015 Willink Transformations and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/epl-v10.html
*
* Contributors:
* E.D.Willink - Initial API and implementation
*******************************************************************************/
package org.eclipse.ocl.pivot.internal.elements;
import java.util.List;
import java.util.Map;
import org.eclipse.emf.common.util.DiagnosticChain;
import org.eclipse.jdt.annotation.NonNull;
import org.eclipse.jdt.annotation.Nullable;
import org.eclipse.ocl.pivot.AssociationClass;
import org.eclipse.ocl.pivot.Class;
import org.eclipse.ocl.pivot.CompleteInheritance;
import org.eclipse.ocl.pivot.LanguageExpression;
import org.eclipse.ocl.pivot.Property;
import org.eclipse.ocl.pivot.StandardLibrary;
import org.eclipse.ocl.pivot.Type;
import org.eclipse.ocl.pivot.ids.PropertyId;
import org.eclipse.ocl.pivot.utilities.ClassUtil;
public abstract class AbstractExecutorProperty extends AbstractExecutorFeature implements Property
{
protected final int propertyIndex;
protected Property opposite;
public AbstractExecutorProperty(@NonNull String name, @NonNull Type executorType, int propertyIndex) {
super(name, executorType);
this.propertyIndex = propertyIndex;
this.opposite = null;
}
@Override
public AssociationClass getAssociationClass() {
throw new UnsupportedOperationException();
}
@Override
public Object getDefaultValue() {
throw new UnsupportedOperationException();
}
@Override
public String getDefaultValueString() {
throw new UnsupportedOperationException();
}
@Override
public @NonNull CompleteInheritance getInheritance(@NonNull StandardLibrary standardLibrary) {
return type.getInheritance(standardLibrary);
}
@Override
public @NonNull List<Property> getKeys() {
throw new UnsupportedOperationException();
}
@Override
public @NonNull Property getOpposite() {
return ClassUtil.nonNullState(opposite);
}
@Override
public LanguageExpression getOwnedExpression() {
throw new UnsupportedOperationException();
}
@Override
@NonNull
public PropertyId getPropertyId() {
throw new UnsupportedOperationException();
}
@Override
public @NonNull List<Property> getRedefinedProperties() {
throw new UnsupportedOperationException();
}
@Override
public Property getReferredProperty() {
throw new UnsupportedOperationException();
}
@Override
public List<Property> getSubsettedProperty() {
throw new UnsupportedOperationException();
}
void initOpposite(@NonNull Property opposite) {
this.opposite = opposite;
}
@Override
public void initValue(@NonNull Object objectValue, @Nullable Object propertyValue) {
throw new UnsupportedOperationException();
}
@Override
public boolean isAttribute(Property p) {
throw new UnsupportedOperationException();
}
@Override
public boolean isIsComposite() {
throw new UnsupportedOperationException();
}
@Override
public boolean isIsDerived() {
throw new UnsupportedOperationException();
}
@Override
public boolean isIsID() {
throw new UnsupportedOperationException();
}
@Override
public boolean isIsImplicit() {
throw new UnsupportedOperationException();
}
@Override
public boolean isIsReadOnly() {
throw new UnsupportedOperationException();
}
@Override
public boolean isIsResolveProxies() {
throw new UnsupportedOperationException();
}
@Override
public boolean isIsTransient() {
throw new UnsupportedOperationException();
}
@Override
public boolean isIsUnsettable() {
throw new UnsupportedOperationException();
}
@Override
public boolean isIsVolatile() {
throw new UnsupportedOperationException();
}
@Override
public void setAssociationClass(AssociationClass value) {
throw new UnsupportedOperationException();
}
@Override
public void setDefaultValue(Object value) {
throw new UnsupportedOperationException();
}
@Override
public void setDefaultValueString(String value) {
throw new UnsupportedOperationException();
}
@Override
public void setIsComposite(boolean value) {
throw new UnsupportedOperationException();
}
@Override
public void setIsDerived(boolean value) {
throw new UnsupportedOperationException();
}
@Override
public void setIsID(boolean value) {
throw new UnsupportedOperationException();
}
@Override
public void setIsImplicit(boolean value) {
throw new UnsupportedOperationException();
}
@Override
public void setIsReadOnly(boolean value) {
throw new UnsupportedOperationException();
}
@Override
public void setIsResolveProxies(boolean value) {
throw new UnsupportedOperationException();
}
@Override
public void setIsUnsettable(boolean value) {
throw new UnsupportedOperationException();
}
@Override
public void setIsTransient(boolean value) {
throw new UnsupportedOperationException();
}
@Override
public void setIsVolatile(boolean value) {
throw new UnsupportedOperationException();
}
@Override
public void setOpposite(Property value) {
throw new UnsupportedOperationException();
}
@Override
public void setOwnedExpression(LanguageExpression value) {
throw new UnsupportedOperationException();
}
@Override
public void setOwningClass(Class value) {
throw new UnsupportedOperationException();
}
@Override
public void setReferredProperty(Property value) {
throw new UnsupportedOperationException();
}
@Override
public String toString() {
return String.valueOf(type) + "::" + String.valueOf(name); //$NON-NLS-1$
}
@Override
public boolean validateCompatibleDefaultExpression(DiagnosticChain diagnostics, Map<Object, Object> context) {
throw new UnsupportedOperationException();
}
}