// // Copyright (c)1998-2011 Pearson Education, Inc. or its affiliate(s). // All rights reserved. // package openadk.generator; public class Alias implements Comparable { private SIFVersion fVersion; private String fTag; private String fSurrogate; private int fSequence; private boolean deprecated; private int flags; /** * Creates a new Alias with no values set * @param version The earliest SIFVersion for which this alias is valid */ public Alias( SIFVersion version ) { fVersion = version; } /** * Creates a new Alias using the specified values * @param version The earliest SIFVersion for which this alias is valid * @param tag * @param surrogate * @param sequence */ public Alias( SIFVersion version, String tag, String surrogate, int sequence ){ fVersion = version; fTag = tag; fSurrogate = surrogate; fSequence = sequence; } public String getElementDefExpression(){ if( getSurrogate() != null ){ return "~" + getSurrogate() + ( getTag() == null ? "" : getTag() ); } return getTag(); } /** * The earliest version of SIF for which this alias is valid * @return */ public SIFVersion getVersion(){ return fVersion; } /** * @param fTag the fTag to set */ void setTag(String tag) { this.fTag = tag; } /** * @return the fTag */ String getTag() { return fTag; } /** * @param fSurrogate the fSurrogate to set */ void setSurrogate(String surrogate) { this.fSurrogate = surrogate; } /** * @return the fSurrogate */ String getSurrogate() { return fSurrogate; } /** * @param fSequence the fSequence to set */ void setSequence(int sequence) { this.fSequence = sequence; } /** * @return the fSequence */ int getSequence() { return fSequence; } /** * @param deprecated the deprecated to set */ void setDeprecated(boolean deprecated) { this.deprecated = deprecated; } /** * @return the deprecated */ boolean isDeprecated() { return deprecated; } /** * @param flags the flags to set */ public void setFlags(int flags) { this.flags = flags; } /** * @return the flags */ public int getFlags() { return flags; } public int compareTo(Object o) { if( o == null ){ return 1; } if( o instanceof Alias ){ return fVersion.compareTo( ((Alias)o).getVersion() ); } throw new RuntimeException( "Cannot compare an Alias to " + o.getClass().getCanonicalName() ); } }