public abstract class LayoutImpl extends Layout
Layout.ImplicitCastINT_TO_DOUBLE, INT_TO_LONG, NONE, OPTION_PREFIX| Modifier | Constructor and Description |
|---|---|
protected |
LayoutImpl(java.util.EnumSet<Layout.ImplicitCast> allowedImplicitCasts,
java.lang.Class<? extends DynamicObjectImpl> clazz,
LayoutStrategy strategy) |
| Modifier and Type | Method and Description |
|---|---|
abstract Shape.Allocator |
createAllocator()
Create an allocator for static property creation.
|
Shape |
createShape(ObjectType operations) |
Shape |
createShape(ObjectType operations,
java.lang.Object sharedData) |
protected Location |
existingLocationForValue(java.lang.Object value,
Location oldLocation,
Shape oldShape) |
protected abstract Location |
getObjectArrayLocation() |
protected abstract int |
getObjectFieldCount() |
protected abstract Location |
getPrimitiveArrayLocation() |
protected abstract int |
getPrimitiveFieldCount() |
LayoutStrategy |
getStrategy() |
java.lang.Class<? extends DynamicObject> |
getType() |
protected abstract boolean |
hasObjectExtensionArray() |
protected abstract boolean |
hasPrimitiveExtensionArray() |
boolean |
isAllowedIntToDouble() |
boolean |
isAllowedIntToLong() |
protected boolean |
isLocationAssignableFrom(Location destination,
Location source) |
boolean |
isPropertyUpcastOf(Property thiz,
Property other)
Is this property an upcast of the other property?
|
abstract DynamicObject |
newInstance(Shape shape) |
protected abstract int |
objectFieldIndex(Location location) |
createLayout, createLayout, createLayout, createShape, getFactoryprotected LayoutImpl(java.util.EnumSet<Layout.ImplicitCast> allowedImplicitCasts, java.lang.Class<? extends DynamicObjectImpl> clazz, LayoutStrategy strategy)
public abstract DynamicObject newInstance(Shape shape)
newInstance in class Layoutpublic java.lang.Class<? extends DynamicObject> getType()
public final Shape createShape(ObjectType operations, java.lang.Object sharedData)
createShape in class Layoutpublic final Shape createShape(ObjectType operations)
createShape in class Layoutpublic boolean isAllowedIntToDouble()
public boolean isAllowedIntToLong()
protected abstract boolean hasObjectExtensionArray()
protected abstract boolean hasPrimitiveExtensionArray()
protected abstract int getObjectFieldCount()
protected abstract int getPrimitiveFieldCount()
protected abstract Location getObjectArrayLocation()
protected abstract Location getPrimitiveArrayLocation()
protected abstract int objectFieldIndex(Location location)
protected boolean isLocationAssignableFrom(Location destination, Location source)
protected Location existingLocationForValue(java.lang.Object value, Location oldLocation, Shape oldShape)
public boolean isPropertyUpcastOf(Property thiz, Property other)
other - the property being compared topublic abstract Shape.Allocator createAllocator()
LayoutcreateAllocator in class Layoutpublic LayoutStrategy getStrategy()