diff options
author | Sven Gothel <[email protected]> | 2010-11-06 06:17:41 +0100 |
---|---|---|
committer | Sven Gothel <[email protected]> | 2010-11-06 06:17:41 +0100 |
commit | 8df147c4a1d7e2e5d63416a1bee979be858440d0 (patch) | |
tree | 32709ce1ce9c6c00ed806e61e36ad896b1862dd2 /src | |
parent | 1be7b5271ec1d08b6929a88dd811754d33d149de (diff) |
Added fast path to equals impl.
Diffstat (limited to 'src')
13 files changed, 44 insertions, 4 deletions
diff --git a/src/jogl/classes/com/jogamp/opengl/util/glsl/ShaderProgram.java b/src/jogl/classes/com/jogamp/opengl/util/glsl/ShaderProgram.java index 430ed08ce..131858271 100644 --- a/src/jogl/classes/com/jogamp/opengl/util/glsl/ShaderProgram.java +++ b/src/jogl/classes/com/jogamp/opengl/util/glsl/ShaderProgram.java @@ -1,3 +1,30 @@ +/** + * Copyright 2010 JogAmp Community. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY JogAmp Community ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL JogAmp Community OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of JogAmp Community. + */ package com.jogamp.opengl.util.glsl; @@ -169,15 +196,17 @@ public class ShaderProgram { } public boolean equals(Object obj) { - if(this==obj) return true; - if(obj instanceof ShaderCode) { - return id()==((ShaderCode)obj).id(); + if(this == obj) { return true; } + if(obj instanceof ShaderProgram) { + return id()==((ShaderProgram)obj).id(); } return false; } + public int hashCode() { return id.intValue(); } + public String toString() { StringBuffer buf = new StringBuffer(); buf.append("ShaderProgram[id="+id); diff --git a/src/jogl/classes/javax/media/opengl/GLCapabilities.java b/src/jogl/classes/javax/media/opengl/GLCapabilities.java index 11d353e61..4368add3f 100644 --- a/src/jogl/classes/javax/media/opengl/GLCapabilities.java +++ b/src/jogl/classes/javax/media/opengl/GLCapabilities.java @@ -93,6 +93,7 @@ public class GLCapabilities extends Capabilities implements Cloneable { } public boolean equals(Object obj) { + if(this == obj) { return true; } if(!(obj instanceof GLCapabilities)) { return false; } diff --git a/src/jogl/classes/javax/media/opengl/GLProfile.java b/src/jogl/classes/javax/media/opengl/GLProfile.java index 102a97a33..853d3e888 100644 --- a/src/jogl/classes/javax/media/opengl/GLProfile.java +++ b/src/jogl/classes/javax/media/opengl/GLProfile.java @@ -510,6 +510,7 @@ public class GLProfile { * if both, profile and profileImpl is equal with this. */ public final boolean equals(Object o) { + if(this==o) { return true; } if(o instanceof GLProfile) { GLProfile glp = (GLProfile)o; return profile.equals(glp.getName()) && profileImpl.equals(glp.getImplName()) ; diff --git a/src/nativewindow/classes/javax/media/nativewindow/Capabilities.java b/src/nativewindow/classes/javax/media/nativewindow/Capabilities.java index 9df57b6d2..6c875ab40 100644 --- a/src/nativewindow/classes/javax/media/nativewindow/Capabilities.java +++ b/src/nativewindow/classes/javax/media/nativewindow/Capabilities.java @@ -74,6 +74,7 @@ public class Capabilities implements Cloneable { } public boolean equals(Object obj) { + if(this == obj) { return true; } if(!(obj instanceof Capabilities)) { return false; } diff --git a/src/nativewindow/classes/javax/media/nativewindow/util/Dimension.java b/src/nativewindow/classes/javax/media/nativewindow/util/Dimension.java index 86e1b8d28..a970be158 100644 --- a/src/nativewindow/classes/javax/media/nativewindow/util/Dimension.java +++ b/src/nativewindow/classes/javax/media/nativewindow/util/Dimension.java @@ -78,6 +78,7 @@ public class Dimension implements Cloneable, DimensionReadOnly { } public boolean equals(Object obj) { + if(this == obj) { return true; } if (obj instanceof Dimension) { Dimension p = (Dimension)obj; return height == p.height && diff --git a/src/nativewindow/classes/javax/media/nativewindow/util/Insets.java b/src/nativewindow/classes/javax/media/nativewindow/util/Insets.java index c7fa247bf..96a45b7b1 100644 --- a/src/nativewindow/classes/javax/media/nativewindow/util/Insets.java +++ b/src/nativewindow/classes/javax/media/nativewindow/util/Insets.java @@ -70,6 +70,7 @@ public class Insets implements Cloneable { * otherwise <code>false</code>. */ public boolean equals(Object obj) { + if(this == obj) { return true; } if (obj instanceof Insets) { Insets insets = (Insets)obj; return ((top == insets.top) && (left == insets.left) && diff --git a/src/nativewindow/classes/javax/media/nativewindow/util/Point.java b/src/nativewindow/classes/javax/media/nativewindow/util/Point.java index 76f1d69c5..6db0ecfe2 100644 --- a/src/nativewindow/classes/javax/media/nativewindow/util/Point.java +++ b/src/nativewindow/classes/javax/media/nativewindow/util/Point.java @@ -51,6 +51,7 @@ public class Point implements Cloneable, PointReadOnly { } public boolean equals(Object obj) { + if(this == obj) { return true; } if (obj instanceof Point) { Point p = (Point)obj; return y == p.y && x == p.x; diff --git a/src/nativewindow/classes/javax/media/nativewindow/util/Rectangle.java b/src/nativewindow/classes/javax/media/nativewindow/util/Rectangle.java index f4808929b..ba24bc64e 100644 --- a/src/nativewindow/classes/javax/media/nativewindow/util/Rectangle.java +++ b/src/nativewindow/classes/javax/media/nativewindow/util/Rectangle.java @@ -63,6 +63,7 @@ public class Rectangle implements Cloneable, RectangleReadOnly { public void setHeight(int height) { this.height = height; } public boolean equals(Object obj) { + if(this == obj) { return true; } if (obj instanceof Rectangle) { Rectangle rect = (Rectangle)obj; return (y == rect.y) && (x == rect.x) && diff --git a/src/nativewindow/classes/javax/media/nativewindow/util/SurfaceSize.java b/src/nativewindow/classes/javax/media/nativewindow/util/SurfaceSize.java index 294fa2d13..ea098b967 100644 --- a/src/nativewindow/classes/javax/media/nativewindow/util/SurfaceSize.java +++ b/src/nativewindow/classes/javax/media/nativewindow/util/SurfaceSize.java @@ -76,6 +76,7 @@ public class SurfaceSize implements Cloneable { * otherwise <code>false</code>. */ public final boolean equals(Object obj) { + if(this == obj) { return true; } if (obj instanceof SurfaceSize) { SurfaceSize p = (SurfaceSize)obj; return getResolution().equals(p.getResolution()) && diff --git a/src/newt/classes/com/jogamp/newt/Display.java b/src/newt/classes/com/jogamp/newt/Display.java index 71ea12ad8..bec014c0b 100644 --- a/src/newt/classes/com/jogamp/newt/Display.java +++ b/src/newt/classes/com/jogamp/newt/Display.java @@ -44,6 +44,7 @@ public abstract class Display { /** return true if obj is of type Display and both FQN {@link #getFQName()} equals */ public boolean equals(Object obj) { + if (this == obj) { return true; } if (obj instanceof Display) { Display d = (Display)obj; return d.getFQName().equals(getFQName()); diff --git a/src/newt/classes/com/jogamp/newt/Screen.java b/src/newt/classes/com/jogamp/newt/Screen.java index fc91047c0..d7d6baea7 100644 --- a/src/newt/classes/com/jogamp/newt/Screen.java +++ b/src/newt/classes/com/jogamp/newt/Screen.java @@ -49,6 +49,7 @@ public abstract class Screen { /** return true if obj is of type Display and both FQN {@link #getFQName()} equals */ public boolean equals(Object obj) { + if (this == obj) { return true; } if (obj instanceof Screen) { Screen s = (Screen)obj; return s.getFQName().equals(getFQName()); diff --git a/src/newt/classes/com/jogamp/newt/ScreenMode.java b/src/newt/classes/com/jogamp/newt/ScreenMode.java index f87c41240..81ce70249 100644 --- a/src/newt/classes/com/jogamp/newt/ScreenMode.java +++ b/src/newt/classes/com/jogamp/newt/ScreenMode.java @@ -164,6 +164,7 @@ public class ScreenMode implements Cloneable { * <br> */ public final boolean equals(Object obj) { + if (this == obj) { return true; } if (obj instanceof ScreenMode) { ScreenMode sm = (ScreenMode)obj; return sm.getMonitorMode().equals(getMonitorMode()) && diff --git a/src/newt/classes/com/jogamp/newt/util/MonitorMode.java b/src/newt/classes/com/jogamp/newt/util/MonitorMode.java index 7f989e4ab..fb2d0ceb5 100644 --- a/src/newt/classes/com/jogamp/newt/util/MonitorMode.java +++ b/src/newt/classes/com/jogamp/newt/util/MonitorMode.java @@ -1,6 +1,5 @@ /** * Copyright 2010 JogAmp Community. All rights reserved. - * Copyright (c) 2010 JogAmp Community. All rights reserved. * * Redistribution and use in source and binary forms, with or without modification, are * permitted provided that the following conditions are met: @@ -85,6 +84,7 @@ public class MonitorMode implements Cloneable { * otherwise <code>false</code>. */ public final boolean equals(Object obj) { + if (this == obj) { return true; } if (obj instanceof MonitorMode) { MonitorMode p = (MonitorMode)obj; return getSurfaceSize().equals(p.getSurfaceSize()) && |