com.threerings.util
Class DeepObject

java.lang.Object
  extended by com.threerings.util.DeepObject
All Implemented Interfaces:
Copyable, Cloneable
Direct Known Subclasses:
ActionConfig, ActionConfig, ActionConfig.Case, ActionConfig.ExpressionCase, ActionConfig.Portal, ActionConfig.WeightedAction, Actor, ActorConfig.Implementation, ActorSpriteConfig, ActorSpriteConfig.MovementSet, ActorSpriteConfig.RotationSet, ActorSpriteConfig.State, ActorSpriteConfig.WeightedAnimation, AlphaStateConfig, AnimationConfig.ComponentAnimation, AnimationConfig.FrameAction, AnimationConfig.Implementation, AnimationConfig.TargetTransform, AreaConfig.Implementation, ArticulatedConfig.AnimationMapping, ArticulatedConfig.Attachment, ArticulatedConfig.Node, ArticulatedConfig.NodeTransform, BackgroundConfig, BaseParticleSystemConfig.Layer, BehaviorConfig.Implementation, BehaviorConfig.WeightedBehavior, BooleanExpression, BooleanVariable, BorderConfig, BoundedRangeModelConfig, CameraConfig, ClientActionConfig, ClientArrayConfig, ColorFunction, ColorFunctionVariable, ColorizationConfig, ColorizationConfig.Triplet, ColorMaskStateConfig, ColorStateConfig, ColorVariable, ComponentConfig, ComponentConfig.ComboBox.Item, ComponentConfig.TabbedPane.Tab, ComponentConfig.ViewModel, CompoundConfig.ComponentModel, ConditionalConfig.Case, ConditionConfig, ConfigReference, CounterConfig, CullStateConfig, DeformerConfig, DepthStateConfig, DimensionConfig, Easing, EffectConfig.Implementation, EffectSpriteConfig, ExpressionBinding, ExpressionConfig, ExpressionDefinition, Extent, FloatExpression, FloatFunction, FloatFunction.Multipoint.Point, FloatFunctionVariable, FloatFunctionVariable.VariableMultipoint.Point, FloatVariable, FogStateConfig, GeneratedStaticConfig.Generator, GeometryConfig, GroundConfig.Implementation, HandlerConfig, HandlerConfig.IntersectionShape, IconConfig, InfluenceConfig, InfluenceFlagConfig, InputFrame, InsetsConfig, IntegerExpression, LayoutConfig, LayoutConfig.Absolute.Child, LayoutConfig.Anchor.Child, LayoutConfig.Border.Child, LayoutConfig.Group.Child, LayoutConfig.Table.Child, LightConfig, LightConfig.Attenuation, LightConfig.Colors, LightConfig.Falloff, LightStateConfig, LineStateConfig, ManagedConfig, MaterialConfig.Implementation, MaterialRewriter, MaterialStateConfig, MaterialStateConfig.Side, ModelConfig.Implementation, ModelConfig.Imported.MaterialMapping, ModelConfig.MeshSet, ModelConfig.SchemedModel, ModelConfig.VisibleMesh, ModelTool.EnvironmentModel, ObjectExpression, PaintableConfig.Case, PaintableConfig.Tile, Parameter, Parameter.Choice.Option, ParticleSystemConfig.GroupPriority, PassConfig, PassDescriptor, PassSummary, PathConfig.Implementation, PlaceableConfig.Implementation, PlacerConfig, PointStateConfig, PolygonStateConfig, Preloadable, ProjectionConfig, Property, QuaternionVariable, RegionConfig, RenderEffectConfig.Implementation, RenderEffectConfig.Technique, RenderQueueConfig.RenderMode, RenderSchemeConfig.Implementation, SceneGlobalConfig.Implementation, SceneInfluenceConfig, ScriptConfig, ScriptedConfig.TimeAction, ShaderConfig.Definition, ShaderConfig.Fragment.Contents, ShaderConfig.Implementation, ShaderConfig.UniformConfig, ShaderConfig.Vertex.Contents, ShaderStateConfig, ShapeConfig, ShapeConfig.TransformedShape, ShapeConfig.Vertex, ShooterConfig, SounderConfig.Case, SounderConfig.ComponentSounder, SounderConfig.Implementation, SounderConfig.QueuedFile, SounderConfig.TimedSounder, SounderConfig.WeightedFile, SounderConfig.WeightedSounder, StencilStateConfig, StepConfig, StepConfig.Clear.Color, StepConfig.Clear.Depth, StepConfig.Clear.Stencil, StyleConfig.Implementation, TagConfig, TargetConfig, TargetConfig, TechniqueConfig, TechniqueConfig.Enqueuer, TechniqueConfig.TechniqueDependency, TextureConfig.Implementation, TextureConfig.Original1D.Contents, TextureConfig.Original2D.Contents, TextureConfig.Original3D.Contents, TextureConfig.OriginalCubeMap.Contents, TextureConfig.OriginalCubeMap.FileTrio, TextureCoordGenConfig, TextureEnvironmentConfig, TextureEnvironmentConfig.AlphaParam, TextureEnvironmentConfig.RGBParam, TextureStateConfig, TextureUnitConfig, TileConfig.Implementation, TudeySceneModel.Entry, TudeySceneModel.Paint, TudeySceneModel.Vertex, UserInterfaceConfig.Implementation, VectorVariable, ViewerEffectConfig, WallConfig.Implementation

public abstract class DeepObject
extends Object
implements Cloneable, Copyable

A base class for objects that uses the methods of DeepUtil to implement clone(), equals(java.lang.Object), and hashCode() reflectively.


Constructor Summary
DeepObject()
           
 
Method Summary
 DeepObject clone()
           
 Object copy(Object dest)
          Creates a copy of this object, (re)populating the supplied destination object if possible.
 Object copy(Object dest, Object outer)
          Creates a copy of this object, (re)populating the supplied destination object if possible.
 boolean equals(Object other)
           
 int hashCode()
           
 String toString()
           
 
Methods inherited from class java.lang.Object
getClass, notify, notifyAll, wait, wait, wait
 

Constructor Detail

DeepObject

public DeepObject()
Method Detail

copy

public Object copy(Object dest)
Description copied from interface: Copyable
Creates a copy of this object, (re)populating the supplied destination object if possible.

Specified by:
copy in interface Copyable
Returns:
either a reference to the destination object, if it could be repopulated, or a new object containing the copied state.

copy

public Object copy(Object dest,
                   Object outer)
Description copied from interface: Copyable
Creates a copy of this object, (re)populating the supplied destination object if possible.

Specified by:
copy in interface Copyable
outer - the outer object reference to use for inner object creation, if any.
Returns:
either a reference to the destination object, if it could be repopulated, or a new object containing the copied state.

clone

public DeepObject clone()
Overrides:
clone in class Object

equals

public boolean equals(Object other)
Overrides:
equals in class Object

hashCode

public int hashCode()
Overrides:
hashCode in class Object

toString

public String toString()
Overrides:
toString in class Object


Copyright © 2011. All Rights Reserved.