| /****************************************************************************** |
| * Copyright (c) 2004, 2009 IBM Corporation 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: |
| * IBM Corporation - initial API and implementation |
| * Mariot Chauvin <mariot.chauvin@obeo.fr> - Bug 270170 |
| ****************************************************************************/ |
| |
| package org.eclipse.gmf.runtime.notation.datatype; |
| |
| import java.util.StringTokenizer; |
| |
| /** |
| * <!-- begin-user-doc --> |
| * An implementation of the model object '<em><b>Relative Bendpoint</b></em>'. |
| * <p> |
| * A type of bendpoints representing a collection of points with relative distances |
| * along the x- and y-axis to the source and target views of an edge |
| * </p> |
| * <!-- end-user-doc --> |
| * <p> |
| * The following features are implemented: |
| * <ul> |
| * <li>{@link org.eclipse.gmf.runtime.notation.impl.RelativeBendpointImpl#getSourceX <em>Source X</em>}</li> |
| * <li>{@link org.eclipse.gmf.runtime.notation.impl.RelativeBendpointImpl#getSourceY <em>Source Y</em>}</li> |
| * <li>{@link org.eclipse.gmf.runtime.notation.impl.RelativeBendpointImpl#getTargetX <em>Target X</em>}</li> |
| * <li>{@link org.eclipse.gmf.runtime.notation.impl.RelativeBendpointImpl#getTargetY <em>Target Y</em>}</li> |
| * </ul> |
| * </p> |
| * |
| * @generated |
| */ |
| /* |
| * @canBeSeenBy %partners |
| */ |
| public class RelativeBendpoint { |
| /** |
| * The default value of the '{@link #getSourceX() <em>Source X</em>}' attribute. |
| * <!-- begin-user-doc --> |
| * <!-- end-user-doc --> |
| * @see #getSourceX() |
| * @generated |
| * @ordered |
| */ |
| protected static final int SOURCE_X_EDEFAULT = 0; |
| |
| /** |
| * The cached value of the '{@link #getSourceX() <em>Source X</em>}' attribute. |
| * <!-- begin-user-doc --> |
| * <!-- end-user-doc --> |
| * @see #getSourceX() |
| * @generated |
| * @ordered |
| */ |
| protected int sourceX = SOURCE_X_EDEFAULT; |
| |
| /** |
| * The default value of the '{@link #getSourceY() <em>Source Y</em>}' attribute. |
| * <!-- begin-user-doc --> |
| * <!-- end-user-doc --> |
| * @see #getSourceY() |
| * @generated |
| * @ordered |
| */ |
| protected static final int SOURCE_Y_EDEFAULT = 0; |
| |
| /** |
| * The cached value of the '{@link #getSourceY() <em>Source Y</em>}' attribute. |
| * <!-- begin-user-doc --> |
| * <!-- end-user-doc --> |
| * @see #getSourceY() |
| * @generated |
| * @ordered |
| */ |
| protected int sourceY = SOURCE_Y_EDEFAULT; |
| |
| /** |
| * The default value of the '{@link #getTargetX() <em>Target X</em>}' attribute. |
| * <!-- begin-user-doc --> |
| * <!-- end-user-doc --> |
| * @see #getTargetX() |
| * @generated |
| * @ordered |
| */ |
| protected static final int TARGET_X_EDEFAULT = 0; |
| |
| /** |
| * The cached value of the '{@link #getTargetX() <em>Target X</em>}' attribute. |
| * <!-- begin-user-doc --> |
| * <!-- end-user-doc --> |
| * @see #getTargetX() |
| * @generated |
| * @ordered |
| */ |
| protected int targetX = TARGET_X_EDEFAULT; |
| |
| /** |
| * The default value of the '{@link #getTargetY() <em>Target Y</em>}' attribute. |
| * <!-- begin-user-doc --> |
| * <!-- end-user-doc --> |
| * @see #getTargetY() |
| * @generated |
| * @ordered |
| */ |
| protected static final int TARGET_Y_EDEFAULT = 0; |
| |
| /** |
| * The cached value of the '{@link #getTargetY() <em>Target Y</em>}' attribute. |
| * <!-- begin-user-doc --> |
| * <!-- end-user-doc --> |
| * @see #getTargetY() |
| * @generated |
| * @ordered |
| */ |
| protected int targetY = TARGET_Y_EDEFAULT; |
| |
| /** |
| * <!-- begin-user-doc --> |
| * <!-- end-user-doc --> |
| * @generated |
| */ |
| public RelativeBendpoint(String string) { |
| StringTokenizer t = new StringTokenizer(string.substring(1, string.length()-1), ","); //$NON-NLS-1$ |
| setSourceX(Integer.parseInt(t.nextToken().trim())); |
| setSourceY(Integer.parseInt(t.nextToken().trim())); |
| setTargetX(Integer.parseInt(t.nextToken().trim())); |
| setTargetY(Integer.parseInt(t.nextToken().trim())); |
| } |
| |
| /** |
| * <!-- begin-user-doc --> |
| * <!-- end-user-doc --> |
| * @generated |
| */ |
| public RelativeBendpoint() { |
| super(); |
| } |
| |
| /** |
| * <!-- begin-user-doc --> |
| * <!-- end-user-doc --> |
| * @generated |
| */ |
| public RelativeBendpoint(int sourceX, int sourceY, int targetX, int targetY) { |
| setSourceX(sourceX); |
| setSourceY(sourceY); |
| setTargetX(targetX); |
| setTargetY(targetY); |
| } |
| |
| /** |
| * <!-- begin-user-doc --> |
| * <p> |
| * Returns the x-distance from the bendpoint to |
| * the attach point with the source view |
| * </p> |
| * <!-- end-user-doc --> |
| * @generated |
| */ |
| public int getSourceX() { |
| return sourceX; |
| } |
| |
| /** |
| * <!-- begin-user-doc --> |
| * <p> |
| * Sets the x-distance from the bendpoint to |
| * the attach point with the source view |
| * </p> |
| * <!-- end-user-doc --> |
| * @generated |
| */ |
| protected void setSourceX(int newSourceX) { |
| sourceX = newSourceX; |
| } |
| |
| /** |
| * <!-- begin-user-doc --> |
| * <p> |
| * Returns the y-distance from the bendpoint to |
| * the attach point with the source view |
| * </p> |
| * <!-- end-user-doc --> |
| * @generated |
| */ |
| public int getSourceY() { |
| return sourceY; |
| } |
| |
| /** |
| * <!-- begin-user-doc --> |
| * <p> |
| * Sets the y-distance from the bendpoint to |
| * the attach point with the source view |
| * </p> |
| * <!-- end-user-doc --> |
| * @generated |
| */ |
| protected void setSourceY(int newSourceY) { |
| sourceY = newSourceY; |
| } |
| |
| /** |
| * <!-- begin-user-doc --> |
| * <p> |
| * Returns the x-distance from the bendpoint to |
| * the attach point with the target view |
| * </p> |
| * <!-- end-user-doc --> |
| * @generated |
| */ |
| public int getTargetX() { |
| return targetX; |
| } |
| |
| /** |
| * <!-- begin-user-doc --> |
| * <p> |
| * Sets the x-distance from the bendpoint to |
| * the attach point with the target view |
| * </p> |
| * <!-- end-user-doc --> |
| * @generated |
| */ |
| protected void setTargetX(int newTargetX) { |
| targetX = newTargetX; |
| } |
| |
| /** |
| * <!-- begin-user-doc --> |
| * <p> |
| * Returns the y-distance from the bendpoint to |
| * the attach point with the target view |
| * </p> |
| * <!-- end-user-doc --> |
| * @generated |
| */ |
| public int getTargetY() { |
| return targetY; |
| } |
| |
| /** |
| * <!-- begin-user-doc --> |
| * <p> |
| * Sets the y-distance from the bendpoint to |
| * the attach point with the target view |
| * </p> |
| * <!-- end-user-doc --> |
| * @generated |
| */ |
| protected void setTargetY(int newTargetY) { |
| targetY = newTargetY; |
| } |
| |
| /** |
| * <!-- begin-user-doc --> |
| * <!-- end-user-doc --> |
| * @generated |
| */ |
| public String toString() { |
| StringBuffer result = new StringBuffer(super.toString()); |
| result.append(" (sourceX: "); //$NON-NLS-1$ |
| result.append(sourceX); |
| result.append(", sourceY: "); //$NON-NLS-1$ |
| result.append(sourceY); |
| result.append(", targetX: "); //$NON-NLS-1$ |
| result.append(targetX); |
| result.append(", targetY: "); //$NON-NLS-1$ |
| result.append(targetY); |
| result.append(')'); |
| return result.toString(); |
| } |
| |
| /** |
| * <!-- begin-user-doc --> |
| * <!-- end-user-doc --> |
| * @generated |
| */ |
| public String convertToString() { |
| StringBuffer result = new StringBuffer(""); //$NON-NLS-1$ |
| result.append('['); |
| result.append(sourceX); |
| result.append(", "); //$NON-NLS-1$ |
| result.append(sourceY); |
| result.append(", "); //$NON-NLS-1$ |
| result.append(targetX); |
| result.append(", "); //$NON-NLS-1$ |
| result.append(targetY); |
| result.append(']'); |
| return result.toString(); |
| } |
| |
| /* (non-Javadoc) |
| * @see java.lang.Object#hashCode() |
| */ |
| public int hashCode() { |
| final int prime = 31; |
| int result = 1; |
| result = prime * result + sourceX; |
| result = prime * result + sourceY; |
| result = prime * result + targetX; |
| result = prime * result + targetY; |
| return result; |
| } |
| |
| /* (non-Javadoc) |
| * @see java.lang.Object#equals(java.lang.Object) |
| */ |
| public boolean equals(Object obj) { |
| if (this == obj) |
| return true; |
| if (obj == null) |
| return false; |
| if (getClass() != obj.getClass()) |
| return false; |
| RelativeBendpoint other = (RelativeBendpoint) obj; |
| if (sourceX != other.sourceX) |
| return false; |
| if (sourceY != other.sourceY) |
| return false; |
| if (targetX != other.targetX) |
| return false; |
| if (targetY != other.targetY) |
| return false; |
| return true; |
| } |
| |
| } //RelativeBendpointImpl |