Package org.eclipse.draw2d

# Class ChopboxAnchor

java.lang.Object
org.eclipse.draw2d.ConnectionAnchorBase
org.eclipse.draw2d.AbstractConnectionAnchor
org.eclipse.draw2d.ChopboxAnchor

All Implemented Interfaces:
  `AncestorListener`, `ConnectionAnchor`

Direct Known Subclasses:
  `LabelAnchor`, `RoundedRectangleAnchor`

public class ChopboxAnchor extends AbstractConnectionAnchor
The ChopboxAnchor's location is found by calculating the intersection of a line drawn from the center point of its owner's box to a reference point on that box. Thus `Connections` using the ChopBoxAnchor will be oriented such that they point to their owner's center.

## Nested Class Summary

## Nested classes/interfaces inherited from interface org.eclipse.draw2d.AncestorListener

`AncestorListener.Stub`

## Field Summary

### Fields inherited from class org.eclipse.draw2d.ConnectionAnchorBase

`listeners`

## Constructor Summary

Constructors
Modifier
Constructor
Description
`protected`
`ChopboxAnchor()`
Constructs a new ChopboxAnchor.
``
`ChopboxAnchor(IFigure owner)`
Constructs a ChopboxAnchor with the given owner figure.

## Method Summary

Modifier and Type
Method
Description
`boolean`
`equals(Object obj)`
Returns `true` if the other anchor has the same owner and box.
`protected Rectangle`
`getBox()`
Returns the bounds of this ChopboxAnchor's owner.
`Point`
`getLocation(Point reference)`
Gets a Rectangle from `getBox()` and returns the Point where a line from the center of the Rectangle to the Point reference intersects the Rectangle.
`Point`
`getReferencePoint()`
Returns the anchor's reference point.
`int`
`hashCode()`
The owning figure's hashcode is used since equality is approximately based on the owner.

### Methods inherited from class org.eclipse.draw2d.AbstractConnectionAnchor

`addAnchorListener, ancestorAdded, ancestorMoved, ancestorRemoved, getOwner, removeAnchorListener, setOwner`

### Methods inherited from class org.eclipse.draw2d.ConnectionAnchorBase

`fireAnchorMoved`

### Methods inherited from class java.lang.Object

`clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait`

## Constructor Details

### ChopboxAnchor

protected ChopboxAnchor()
Constructs a new ChopboxAnchor.

### ChopboxAnchor

public ChopboxAnchor(IFigure owner)
Constructs a ChopboxAnchor with the given owner figure.

Parameters:
  `owner` - The owner figure
Since:
  2.0

## Method Details

### getLocation

public Point getLocation(Point reference)
Gets a Rectangle from `getBox()` and returns the Point where a line from the center of the Rectangle to the Point reference intersects the Rectangle.

Parameters:
  `reference` - The reference point
Returns:
  The anchor location

### getBox

protected Rectangle getBox()
Returns the bounds of this ChopboxAnchor's owner. Subclasses can override this method to adjust the box the anchor can be placed on. For instance, the owner figure may have a drop shadow that should not be included in the box.

Returns:
  The bounds of this ChopboxAnchor's owner
Since:
  2.0

### getReferencePoint

public Point getReferencePoint()
Returns the anchor's reference point. In the case of the ChopboxAnchor, this is the center of the anchor's owner.

Specified by:
  `getReferencePoint` in interface `ConnectionAnchor`
Overrides:
  `getReferencePoint` in class `AbstractConnectionAnchor`
Returns:
  The reference point
See Also:
  - `ConnectionAnchor.getReferencePoint()`

### equals

public boolean equals(Object obj)
Returns `true` if the other anchor has the same owner and box.

Overrides:
  `equals` in class `Object`
Parameters:
  `obj` - the other anchor
Returns:
  `true` if equal

### hashCode

public int hashCode()
The owning figure's hashcode is used since equality is approximately based on the owner.

Overrides:
  `hashCode` in class `Object`
Returns:
  the hash code.