📄 edge.java
字号:
/*** This code was written by Kent Paul Dolan. See accompanying file** TravellerDoc.html for status for your use.*/package com.well.www.user.xanthian.java.structures;import com.coyotegulch.tools.*;import com.coyotegulch.genetic.*;import com.well.www.user.xanthian.java.genetic.*;import com.well.www.user.xanthian.java.tools.*;import com.well.www.user.xanthian.java.ui.*;public class Edge extends Object implements ContentComparable, Cloneable{ private Codon m_start; private Codon m_end; private boolean m_matched = false; public boolean contentIsTheSameAs( Object that ) { return ( ( ((Edge)this).m_start.compareTo( ((Edge)that).getStart() ) == Sortable.THIS_EQUAL_TO ) && ( ((Edge)this).m_end.compareTo( ((Edge)that).getEnd() ) == Sortable.THIS_EQUAL_TO ) && ( this.m_matched == ((Edge)that).getMatched() ) ); } public int compareTo( Object that ) { if ( ( ((Edge)this).m_start.compareTo( ((Edge)that).getStart() ) == Sortable.THIS_LESS_THAN ) || ( ( ((Edge)this).m_start.compareTo( ((Edge)that).getStart() ) == Sortable.THIS_EQUAL_TO ) && ( ((Edge)this).m_end.compareTo( ((Edge)that).getEnd() ) == Sortable.THIS_LESS_THAN ) ) ) { return Sortable.THIS_LESS_THAN; } if ( ( ((Edge)this).m_start.compareTo( ((Edge)that).getStart() ) == Sortable.THIS_GREATER_THAN ) || ( ( ((Edge)this).m_start.compareTo( ((Edge)that).getStart() ) == Sortable.THIS_EQUAL_TO ) && ( ((Edge)this).m_end.compareTo( ((Edge)that).getEnd() ) == Sortable.THIS_GREATER_THAN ) ) ) { return Sortable.THIS_GREATER_THAN; } return Sortable.THIS_EQUAL_TO; } public void swap( Object object_1 , Object object_2 ) { if (CheckBoxControls.getState(CheckBoxControls.CBC_DEBUG_PRINTOUTS)) { System.out.println ( "Entered Edge.swap( Object object_1, Object object_2 ): " + "(" + ((Edge)object_1).m_start.get() + "," + ((Edge)object_1).m_end.get() + "," + ( ((Edge)object_1).m_matched ? "t" : "f" ) + ")" + ", " + "(" + ((Edge)object_2).m_start.get() + "," + ((Edge)object_2).m_end.get() + "," + ( ((Edge)object_2).m_matched ? "t" : "f" ) + ")" ); } try { Codon sTemp = new Codon( ((Edge)object_1).m_start ); Codon eTemp = new Codon( ((Edge)object_1).m_end ); boolean mTemp = ((Edge)object_1).m_matched; ((Edge)object_1).m_start = new Codon( ((Edge)object_2).m_start ); ((Edge)object_1).m_end = new Codon( ((Edge)object_2).m_end ); ((Edge)object_1).m_matched = ((Edge)object_2).m_matched; ((Edge)object_2).m_start = new Codon( sTemp ); ((Edge)object_2).m_end = new Codon( eTemp ); ((Edge)object_2).m_matched = mTemp; } catch (Exception e) { System.out.println( "Edge.swap() threw" ); } }/* public Object clone() { return ( (Object) this.clone() ); }*/ public Codon getStart() { if (CheckBoxControls.getState(CheckBoxControls.CBC_DEBUG_PRINTOUTS)) { System.out.println ( "Entered Edge.getStart() " + this.m_start.get() ); } return m_start; } public Codon getEnd() { if (CheckBoxControls.getState(CheckBoxControls.CBC_DEBUG_PRINTOUTS)) { System.out.println ( "Entered Edge.getEnd() " + this.m_end.get() ); } return m_end; } public boolean getMatched() { return m_matched; } public String toString() { StringBuffer b = new StringBuffer(""); b.append ( "(" + this.getStart().get() + "," + this.getEnd().get() + "," + ( this.getMatched() ? "t" : "f" ) + ")" ); return b.toString(); } public Edge cloneThis() { try { return (Edge) this.clone(); } catch ( Exception e ) { // nothing to do } return null; } public Edge( Codon codon_1 , Codon codon_2 , boolean matched ) { super(); if (CheckBoxControls.getState(CheckBoxControls.CBC_DEBUG_PRINTOUTS)) { System.out.println ( "Entered Edge( Codon_1 , Codon_2 , matched) = " + codon_1.get() + ", " + codon_2.get() + ", " + ( matched ? "t" : "f" ) ); }/*** Always build in canonical form, lesser named codon in start, greater** named codon in end.*/ if ( codon_1.compareTo( codon_2 ) == Sortable.THIS_LESS_THAN ) { this.m_start = new Codon( codon_1 ); this.m_end = new Codon( codon_2 ); } else { this.m_start = new Codon( codon_2 ); this.m_end = new Codon( codon_1 ); } m_matched = matched; } public Edge( Codon codon_1 , Codon codon_2 ) { this( codon_1, codon_2, false ); } public Edge( Edge that ) { this( that.getStart(), that.getEnd(), that.getMatched() ); } public Edge( Edge that, boolean matched ) { this( that.getStart(), that.getEnd(), matched ); } public Edge( int codonName1, int codonName2, boolean matched ) { this( new Codon( codonName1 ) , new Codon( codonName2 ) , matched ); } public Edge( int codonName1, int codonName2 ) { this( new Codon( codonName1 ) , new Codon( codonName2 ) , false ); }}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -