// Copyright (C) 2008-2009 Christian M. Zmasek
// Copyright (C) 2008-2009 Burnham Institute for Medical Research
// All rights reserved
-//
+//
// This library is free software; you can redistribute it and/or
// modify it under the terms of the GNU Lesser General Public
// License as published by the Free Software Foundation; either
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
// Lesser General Public License for more details.
-//
+//
// You should have received a copy of the GNU Lesser General Public
// License along with this library; if not, write to the Free Software
// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
//
// Contact: phylosoft @ gmail . com
-// WWW: www.phylosoft.org/forester
+// WWW: https://sites.google.com/site/cmzmasek/home/software/forester
package org.forester.phylogeny.data;
public Annotation( final String ref ) {
if ( ForesterUtil.isEmpty( ref ) ) {
- throw new IllegalArgumentException( "illegal attempt to create Annotation with null or empty reference" );
+ throw new IllegalArgumentException( "annotation reference is empty or null" );
}
- if ( ( ref.indexOf( ':' ) < 1 ) || ( ref.length() < 3 ) ) {
- throw new IllegalArgumentException( "illegal format for Annotation reference: [" + ref + "]" );
+ if ( ( ref.indexOf( ':' ) < 1 ) || ( ref.indexOf( ':' ) > ref.length() - 2 ) || ( ref.length() < 3 ) ) {
+ throw new IllegalArgumentException( "illegal format for annotation reference: [" + ref + "]" );
}
_ref = ref;
init();
}
+ public Annotation() {
+ _ref = "";
+ init();
+ }
+
@Override
public StringBuffer asSimpleText() {
- return new StringBuffer( getDesc() );
+ return new StringBuffer( !ForesterUtil.isEmpty( getRef() ) ? getRef() : getDesc() );
}
@Override
public StringBuffer asText() {
- return new StringBuffer( getDesc() );
+ return asSimpleText();
}
@Override