# Class ObjectView

java.lang.Object
javax.swing.text.View
javax.swing.text.ComponentView
javax.swing.text.html.ObjectView

All Implemented Interfaces:
  `SwingConstants`

public class ObjectView extends ComponentView
Component decorator that implements the view interface for <object> elements.

This view will try to load the class specified by the `classid` attribute. If possible, the Classloader used to load the associated Document is used. This would typically be the same as the ClassLoader used to load the EditorKit. If the document's ClassLoader is null, `Class.forName` is used.

If the class can successfully be loaded, an attempt will be made to create an instance of it by calling `Class.newInstance`. An attempt will be made to narrow the instance to type `java.awt.Component` to display the object.

This view can also manage a set of parameters with limitations. The parameters to the <object> element are expected to be present on the associated elements attribute set as simple strings. Each bean property will be queried as a key on the AttributeSet, with the expectation that a non-null value (of type String) will be present if there was a parameter specification for the property. Reflection is used to set the parameter. Currently, this is limited to a very simple single parameter of type String.

A simple example HTML invocation is:

         <object classid="javax.swing.JLabel">
         <param name="text" value="sample text">
         </object>

## Field Summary

### Fields declared in class View

`BadBreakWeight, ExcellentBreakWeight, ForcedBreakWeight, GoodBreakWeight, X_AXIS, Y_AXIS`
Modifier and Type
Field
Description
`static final int`
`BadBreakWeight`
The weight to indicate a view is a bad break opportunity for the purpose of formatting.
`static final int`
`ExcellentBreakWeight`
The weight to indicate a view supports breaking, and this represents a very attractive place to break.
`static final int`
`ForcedBreakWeight`
The weight to indicate a view supports breaking, and must be broken to be represented properly when placed in a view that formats its children by breaking them.
`static final int`
`GoodBreakWeight`
The weight to indicate a view supports breaking, but better opportunities probably exist.
`static final int`
`X_AXIS`
Axis for format/break operations.
`static final int`
`Y_AXIS`
Axis for format/break operations.

### Fields declared in interface SwingConstants

`BOTTOM, CENTER, EAST, HORIZONTAL, LEADING, LEFT, NEXT, NORTH, NORTH_EAST, NORTH_WEST, PREVIOUS, RIGHT, SOUTH, SOUTH_EAST, SOUTH_WEST, TOP, TRAILING, VERTICAL, WEST`
Modifier and Type
Field
Description
`static final int`
`BOTTOM`
Box-orientation constant used to specify the bottom of a box.
`static final int`
`CENTER`
The central position in an area.
`static final int`
`EAST`
Compass-direction east (right).
`static final int`
`HORIZONTAL`
Horizontal orientation.
`static final int`
`LEADING`
Identifies the leading edge of text for use with left-to-right and right-to-left languages.
`static final int`
`LEFT`
Box-orientation constant used to specify the left side of a box.
`static final int`
`NEXT`
Identifies the next direction in a sequence.
`static final int`
`NORTH`
Compass-direction North (up).
`static final int`
`NORTH_EAST`
Compass-direction north-east (upper right).
`static final int`
`NORTH_WEST`
Compass-direction north west (upper left).
`static final int`
`PREVIOUS`
Identifies the previous direction in a sequence.
`static final int`
`RIGHT`
Box-orientation constant used to specify the right side of a box.
`static final int`
`SOUTH`
Compass-direction south (down).
`static final int`
`SOUTH_EAST`
Compass-direction south-east (lower right).
`static final int`
`SOUTH_WEST`
Compass-direction south-west (lower left).
`static final int`
`TOP`
Box-orientation constant used to specify the top of a box.
`static final int`
`TRAILING`
Identifies the trailing edge of text for use with left-to-right and right-to-left languages.
`static final int`
`VERTICAL`
Vertical orientation.
`static final int`
`WEST`
Compass-direction west (left).

## Constructor Summary

Constructors
Constructor
Description
`ObjectView(Element elem)`
Creates a new ObjectView object.

## Method Summary

Modifier and Type
Method
Description
`protected Component`
`createComponent()`
Create the component.

### Methods declared in class ComponentView

`getAlignment, getComponent, getMaximumSpan, getMinimumSpan, getPreferredSpan, modelToView, paint, setParent, viewToModel`
Modifier and Type
Method
Description
`float`
`getAlignment(int axis)`
Determines the desired alignment for this view along an axis.
`final Component`
`getComponent()`
Fetch the component associated with the view.
`float`
`getMaximumSpan(int axis)`
Determines the maximum span for this view along an axis.
`float`
`getMinimumSpan(int axis)`
Determines the minimum span for this view along an axis.
`float`
`getPreferredSpan(int axis)`
Determines the preferred span for this view along an axis.
`Shape`
`modelToView(int pos, Shape a, Position.Bias b)`
Provides a mapping from the coordinate space of the model to that of the view.
`void`
`paint(Graphics g, Shape a)`
The real paint behavior occurs naturally from the association that the component has with its parent container (the same container hosting this view).
`void`
`setParent(View p)`
Sets the parent for a child view.
`int`
`viewToModel(float x, float y, Shape a, Position.Bias[] bias)`
Provides a mapping from the view coordinate space to the logical coordinate space of the model.

### Methods declared in class View

`append, breakView, changedUpdate, createFragment, forwardUpdate, forwardUpdateToView, getAttributes, getBreakWeight, getChildAllocation, getContainer, getDocument, getElement, getEndOffset, getGraphics, getNextVisualPositionFrom, getParent, getResizeWeight, getStartOffset, getToolTipText, getView, getViewCount, getViewFactory, getViewIndex, getViewIndex, insert, insertUpdate, isVisible, modelToView, modelToView, preferenceChanged, remove, removeAll, removeUpdate, replace, setSize, updateChildren, updateLayout, viewToModel`
Modifier and Type
Method
Description
`void`
`append(View v)`
Appends a single child view.
`View`
`breakView(int axis, int offset, float pos, float len)`
Tries to break this view on the given axis.
`void`
`changedUpdate(DocumentEvent e, Shape a, ViewFactory f)`
Gives notification from the document that attributes were changed in a location that this view is responsible for.
`View`
`createFragment(int p0, int p1)`
Creates a view that represents a portion of the element.
`protected void`
`forwardUpdate(DocumentEvent.ElementChange ec, DocumentEvent e, Shape a, ViewFactory f)`
Forwards the given `DocumentEvent` to the child views that need to be notified of the change to the model.
`protected void`
`forwardUpdateToView(View v, DocumentEvent e, Shape a, ViewFactory f)`
Forwards the `DocumentEvent` to the give child view.
`AttributeSet`
`getAttributes()`
Fetches the attributes to use when rendering.
`int`
`getBreakWeight(int axis, float pos, float len)`
Determines how attractive a break opportunity in this view is.
`Shape`
`getChildAllocation(int index, Shape a)`
Fetches the allocation for the given child view.
`Container`
`getContainer()`
Fetches the container hosting the view.
`Document`
`getDocument()`
Fetches the model associated with the view.
`Element`
`getElement()`
Fetches the structural portion of the subject that this view is mapped to.
`int`
`getEndOffset()`
Fetches the portion of the model for which this view is responsible.
`Graphics`
`getGraphics()`
Fetch a `Graphics` for rendering.
`int`
`getNextVisualPositionFrom(int pos, Position.Bias b, Shape a, int direction, Position.Bias[] biasRet)`
Provides a way to determine the next visually represented model location at which one might place a caret.
`View`
`getParent()`
Returns the parent of the view.
`int`
`getResizeWeight(int axis)`
Determines the resizability of the view along the given axis.
`int`
`getStartOffset()`
Fetches the portion of the model for which this view is responsible.
`String`
`getToolTipText(float x, float y, Shape allocation)`
Returns the tooltip text at the specified location.
`View`
`getView(int n)`
Gets the nth child view.
`int`
`getViewCount()`
Returns the number of views in this view.
`ViewFactory`
`getViewFactory()`
Fetches the `ViewFactory` implementation that is feeding the view hierarchy.
`int`
`getViewIndex(float x, float y, Shape allocation)`
Returns the child view index representing the given position in the view.
`int`
`getViewIndex(int pos, Position.Bias b)`
Returns the child view index representing the given position in the model.
`void`
`insert(int offs, View v)`
Inserts a single child view.
`void`
`insertUpdate(DocumentEvent e, Shape a, ViewFactory f)`
Gives notification that something was inserted into the document in a location that this view is responsible for.
`boolean`
`isVisible()`
Returns a boolean that indicates whether the view is visible or not.
`Shape`
`modelToView(int pos, Shape a)`
Deprecated.
`Shape`
`modelToView(int p0, Position.Bias b0, int p1, Position.Bias b1, Shape a)`
Provides a mapping, for a given region, from the document model coordinate space to the view coordinate space.
`void`
`preferenceChanged(View child, boolean width, boolean height)`
Child views can call this on the parent to indicate that the preference has changed and should be reconsidered for layout.
`void`
`remove(int i)`
Removes one of the children at the given position.
`void`
`removeAll()`
Removes all of the children.
`void`
`removeUpdate(DocumentEvent e, Shape a, ViewFactory f)`
Gives notification that something was removed from the document in a location that this view is responsible for.
`void`
`replace(int offset, int length, View[] views)`
Replaces child views.
`void`
`setSize(float width, float height)`
Sets the size of the view.
`protected boolean`
`updateChildren(DocumentEvent.ElementChange ec, DocumentEvent e, ViewFactory f)`
Updates the child views in response to receiving notification that the model changed, and there is change record for the element this view is responsible for.
`protected void`
`updateLayout(DocumentEvent.ElementChange ec, DocumentEvent e, Shape a)`
Updates the layout in response to receiving notification of change from the model.
`int`
`viewToModel(float x, float y, Shape a)`
Deprecated.

### Methods declared in class Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`
Modifier and Type
Method
Description
`protected Object`
`clone()`
Creates and returns a copy of this object.
`boolean`
`equals(Object obj)`
Indicates whether some other object is "equal to" this one.
`protected void`
`finalize()`
Deprecated, for removal: This API element is subject to removal in a future version.
Finalization is deprecated and subject to removal in a future release.
`final Class<?>`
`getClass()`
Returns the runtime class of this `Object`.
`int`
`hashCode()`
Returns a hash code value for this object.
`final void`
`notify()`
Wakes up a single thread that is waiting on this object's monitor.
`final void`
`notifyAll()`
Wakes up all threads that are waiting on this object's monitor.
`String`
`toString()`
Returns a string representation of the object.
`final void`
`wait()`
Causes the current thread to wait until it is awakened, typically by being notified or interrupted.
`final void`
`wait(long timeoutMillis)`
Causes the current thread to wait until it is awakened, typically by being notified or interrupted, or until a certain amount of real time has elapsed.
`final void`
`wait(long timeoutMillis, int nanos)`
Causes the current thread to wait until it is awakened, typically by being notified or interrupted, or until a certain amount of real time has elapsed.

## Constructor Details

### ObjectView

public ObjectView(Element elem)
Creates a new ObjectView object.

Parameters:
  `elem` - the element to decorate

## Method Details

### createComponent

protected Component createComponent()
Create the component. The classid is used as a specification of the classname, which we try to load.

Overrides:
  `createComponent` in class `ComponentView`
Returns:
  the component that is associated with this view