FileDocCategorySizeDatePackage
Alias.javaAPI DocHibernate 3.2.52336Sat Feb 12 00:19:50 GMT 2005org.hibernate.sql

Alias

public final class Alias extends Object
An alias generator for SQL identifiers
author
Gavin King

Fields Summary
private final int
length
private final String
suffix
Constructors Summary
public Alias(int length, String suffix)
Constructor for Alias.

		super();
		this.length = (suffix==null) ? length : length - suffix.length();
		this.suffix = suffix;
	
public Alias(String suffix)
Constructor for Alias.

		super();
		this.length = Integer.MAX_VALUE;
		this.suffix = suffix;
	
Methods Summary
private java.lang.StringgetUnquotedAliasString(java.lang.String sqlIdentifier)

		char begin = sqlIdentifier.charAt(0);
		int quoteType = Dialect.QUOTE.indexOf(begin);
		return getUnquotedAliasString(sqlIdentifier, quoteType);
	
private java.lang.StringgetUnquotedAliasString(java.lang.String sqlIdentifier, int quoteType)

		String unquoted = sqlIdentifier;
		if ( quoteType >= 0 ) {
			//if the identifier is quoted, remove the quotes
			unquoted = unquoted.substring( 1, unquoted.length()-1 );
		}
		if ( unquoted.length() > length ) {
			//truncate the identifier to the max alias length, less the suffix length
			unquoted = unquoted.substring(0, length);
		}
		if ( suffix == null ) {
			return unquoted;
		}
		else {
			return unquoted + suffix;
		}
	
public java.lang.StringtoAliasString(java.lang.String sqlIdentifier)

		char begin = sqlIdentifier.charAt(0);
		int quoteType = Dialect.QUOTE.indexOf(begin);
		String unquoted = getUnquotedAliasString(sqlIdentifier, quoteType);
		if ( quoteType >= 0 ) {
			char endQuote = Dialect.CLOSED_QUOTE.charAt(quoteType);
			return begin + unquoted + endQuote;
		}
		else {
			return unquoted;
		}
	
public java.lang.String[]toAliasStrings(java.lang.String[] sqlIdentifiers)

		String[] aliases = new String[ sqlIdentifiers.length ];
		for ( int i=0; i<sqlIdentifiers.length; i++ ) {
			aliases[i] = toAliasString(sqlIdentifiers[i]);
		}
		return aliases;
	
public java.lang.StringtoUnquotedAliasString(java.lang.String sqlIdentifier)

		return getUnquotedAliasString(sqlIdentifier);
	
public java.lang.String[]toUnquotedAliasStrings(java.lang.String[] sqlIdentifiers)

		String[] aliases = new String[ sqlIdentifiers.length ];
		for ( int i=0; i<sqlIdentifiers.length; i++ ) {
			aliases[i] = toUnquotedAliasString(sqlIdentifiers[i]);
		}
		return aliases;