Revision: 888
http://plexus.svn.sourceforge.net/plexus/?rev=888&view=rev
Author: rconner
Date: 2010-09-15 22:37:56 +0000 (Wed, 15 Sep 2010)
Log Message:
-----------
Clean up the code.
Modified Paths:
--------------
trunk/plexus-graph/src/test/java/com/phoenixst/plexus/SimpleObjectEdge.java
Modified: trunk/plexus-graph/src/test/java/com/phoenixst/plexus/SimpleObjectEdge.java
===================================================================
--- trunk/plexus-graph/src/test/java/com/phoenixst/plexus/SimpleObjectEdge.java 2010-09-15 22:22:57 UTC (rev 887)
+++ trunk/plexus-graph/src/test/java/com/phoenixst/plexus/SimpleObjectEdge.java 2010-09-15 22:37:56 UTC (rev 888)
@@ -1,7 +1,7 @@
/*
* $Id$
*
- * Copyright (C) 1994-2006 by Phoenix Software Technologists,
+ * Copyright (C) 1994-2010 by Phoenix Software Technologists,
* Inc. and others. All rights reserved.
*
* THIS PROGRAM AND DOCUMENTATION IS PROVIDED UNDER THE TERMS OF THE
@@ -19,18 +19,16 @@
/**
- * An <code>Edge</code> which defines {@link #equals(Object) equals(
- * Object )} differently for testing purposes. Because of how {@link
- * #equals(Object) equals( Object )} is defined, instances of this
- * class may only be used by multigraphs when the endpoints and
- * contained user-defined object are sufficient to distinguish
- * distinct edges.
+ * An <code>Edge</code> which defines {@link #equals(Object) equals( Object )}
+ * differently for testing purposes. Because of how {@link #equals(Object)
+ * equals( Object )} is defined, instances of this class may only be used by
+ * multigraphs when the endpoints and contained user-defined object are
+ * sufficient to distinguish distinct edges.
*
- * @author Ray A. Conner
+ * @author rconner
*/
public class SimpleObjectEdge extends DefaultObjectEdge
{
-
private static final long serialVersionUID = 2L;
@@ -38,13 +36,10 @@
// Constructor
////////////////////////////////////////
-
/**
- * Creates a new <code>SimpleObjectEdge</code>.
+ * Creates a new <code>SimpleObjectEdge</code>.
*/
- public SimpleObjectEdge( Object object,
- Object tail, Object head,
- boolean directed )
+ public SimpleObjectEdge( Object object, Object tail, Object head, boolean directed )
{
super( object, tail, head, directed );
}
@@ -54,41 +49,47 @@
// Other methods
////////////////////////////////////////
+ private boolean equals( Object tail, Object head )
+ {
+ return GraphUtils.equals( getTail(), tail )
+ && GraphUtils.equals( getHead(), head );
+ }
/**
- * Two <code>SimpleObjectEdges</code> are equal if they have the
- * same directedness, have equal endpoints, and contain the same
- * user-defined object.
+ * Two <code>SimpleObjectEdges</code> are equal if they have the same
+ * directedness, have equal endpoints, and contain the same user-defined
+ * object.
*/
@Override
public boolean equals( Object object )
{
- if( !(object instanceof SimpleObjectEdge) ) {
+ if( !( object instanceof SimpleObjectEdge ) ) {
return false;
}
SimpleObjectEdge edge = (SimpleObjectEdge) object;
- if( isDirected() ) {
- return edge.isDirected()
- && GraphUtils.equals( getUserObject(), edge.getUserObject() )
- && GraphUtils.equals( getTail(), edge.getTail() )
- && GraphUtils.equals( getHead(), edge.getHead() );
+ if( !isDirected() == edge.isDirected() ) {
+ return false;
}
- return !edge.isDirected()
- && GraphUtils.equals( getUserObject(), edge.getUserObject() )
- && ( (GraphUtils.equals( getTail(), edge.getTail() ) && GraphUtils.equals( getHead(), edge.getHead() ))
- || (GraphUtils.equals( getTail(), edge.getHead() ) && GraphUtils.equals( getHead(), edge.getTail() )) );
+ if( !GraphUtils.equals( getUserObject(), edge.getUserObject() ) ) {
+ return false;
+ }
+ if( equals( edge.getTail(), edge.getHead() ) ) {
+ return true;
+ }
+ return !isDirected()
+ && equals( edge.getHead(), edge.getTail() );
}
+ private int hashCode( Object object )
+ {
+ return object == null ? 0 : object.hashCode();
+ }
@Override
public int hashCode()
{
- Object tail = getTail();
- Object head = getHead();
- Object object = getUserObject();
- return ((tail == null) ? 0 : tail.hashCode())
- ^ ((head == null) ? 0 : head.hashCode())
- ^ ((object == null) ? 0 : object.hashCode());
+ return hashCode( getUserObject() )
+ ^ hashCode( getTail() )
+ ^ hashCode( getHead() );
}
-
}
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|