Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
  /*
   * Hibernate OGM, Domain model persistence for NoSQL datastores
   *
   * License: GNU Lesser General Public License (LGPL), version 2.1 or later
   * See the lgpl.txt file in the root directory or <http://www.gnu.org/licenses/lgpl-2.1.html>.
   */
  package org.hibernate.ogm.cfg.impl;
  
 
Implements the OGM naming strategy: - based of the JPA 2 naming strategy - column names in components defaults to the fully qualified path (ie address.city)

Author(s):
Emmanuel Bernard
 
 public class OgmNamingStrategy extends EJB3NamingStrategy {
 
 	public static final NamingStrategy INSTANCE = new OgmNamingStrategy();

A pattern common to all property names used in element collections.
 
 	private static final Pattern ELEMENT_COLLECTION_NAME_PATTERN = Pattern.compile"collection&&element\\." );
 
 
 	// noop method kept for documentation purposes
 		//the . is already present, no need to replace it
 		// Other strategies would typically replace '.' with '_'
 		return name;
 	}
 
 	public String propertyToColumnName(String propertyName) {
 		String[] parts = .splitpropertyName );
 
 		// for element collections just use the simple name
 		if ( parts.length == 2 ) {
 			propertyName = parts[1];
 		}
 
 		return replacePropertySeparatorpropertyName );
 	}
 
 			String ownerEntityString ownerEntityTableString associatedEntityString associatedEntityTable,
 			String propertyName
 	) {
 		return tableName(
 				new StringBuilderownerEntityTable ).append"_" )
 								associatedEntityTable != null ?
 										associatedEntityTable :
 										replacePropertySeparatorpropertyName )
 						).toString()
 		);
 	}
 
 
 			String propertyNameString propertyEntityNameString propertyTableNameString referencedColumnName
 	) {
 		String header = propertyName != null ? replacePropertySeparatorpropertyName ) : propertyTableName;
 		if ( header == null ) {
 			throw new AssertionFailure"NamingStrategy not properly filled" );
 		}
 		return columnNameheader + "_" + referencedColumnName );
 	}
 
 	public String logicalColumnName(String columnNameString propertyName) {
 		return StringHelper.isEmptycolumnName ) == false ? columnName : propertyName;
 	}
 
 			String tableNameString ownerEntityTableString associatedEntityTableString propertyName
 	) {
 		if ( tableName != null ) {
 			return tableName;
 		}
 		else {
 			//use of a stringbuffer to workaround a JDK bug
 			return new StringBufferownerEntityTable ).append"_" )
 							associatedEntityTable != null ?
 									associatedEntityTable :
 									propertyName
 					).toString();
 		}
	}
	public String logicalCollectionColumnName(String columnNameString propertyNameString referencedColumn) {
		return StringHelper.isEmptycolumnName ) == false ?
				columnName :
				propertyName + "_" + referencedColumn;
	}
New to GrepCode? Check out our FAQ X