Java Mailing List Archive

http://www.gg3721.com/

Home » Hibernate Commits List »

[hibernate-commits] Hibernate SVN: r20201 -
 sandbox/trunk/new-metadata/src/main/java/org/hibernate/metadata/schema.

hibernate-commits

2010-08-19


Author LoginPost Reply
Author: steve.ebersole@(protected)
Date: 2010-08-19 22:07:25 -0400 (Thu, 19 Aug 2010)
New Revision: 20201

Added:
 sandbox/trunk/new-metadata/src/main/java/org/hibernate/metadata/schema/Identifier.java
Modified:
 sandbox/trunk/new-metadata/src/main/java/org/hibernate/metadata/schema/AbstractValueContainer.java
 sandbox/trunk/new-metadata/src/main/java/org/hibernate/metadata/schema/Column.java
 sandbox/trunk/new-metadata/src/main/java/org/hibernate/metadata/schema/ObjectName.java
 sandbox/trunk/new-metadata/src/main/java/org/hibernate/metadata/schema/ValueContainer.java
Log:
make column name an identifier as well

Modified: sandbox/trunk/new-metadata/src/main/java/org/hibernate/metadata/schema/AbstractValueContainer.java
===================================================================
--- sandbox/trunk/new-metadata/src/main/java/org/hibernate/metadata/schema/AbstractValueContainer.java  2010-08-20 01:01:03 UTC (rev 20200)
+++ sandbox/trunk/new-metadata/src/main/java/org/hibernate/metadata/schema/AbstractValueContainer.java  2010-08-20 02:07:25 UTC (rev 20201)
@@(protected) @@
 }

 public Column createColumn(String name) {
-    final Column column = new Column( this, name );
+    return createColumn( Identifier.toIdentifier( name ) );
+  }
+
+  public Column createColumn(Identifier identifier) {
+    final Column column = new Column( this, identifier );
   values.add( column );
   return column;
 }

Modified: sandbox/trunk/new-metadata/src/main/java/org/hibernate/metadata/schema/Column.java
===================================================================
--- sandbox/trunk/new-metadata/src/main/java/org/hibernate/metadata/schema/Column.java  2010-08-20 01:01:03 UTC (rev 20200)
+++ sandbox/trunk/new-metadata/src/main/java/org/hibernate/metadata/schema/Column.java  2010-08-20 02:07:25 UTC (rev 20201)
@@(protected) @@
* @author Steve Ebersole
*/
public class Column extends AbstractColumn implements Value {
-  private final String name;
+  private final Identifier name;

-  protected Column(ValueContainer table, String name) {
+  protected Column(ValueContainer table, Identifier name) {
   super( table );
   this.name = name;
 }

-  public String getName() {
+  public Identifier getName() {
   return name;
 }


Added: sandbox/trunk/new-metadata/src/main/java/org/hibernate/metadata/schema/Identifier.java
===================================================================
--- sandbox/trunk/new-metadata/src/main/java/org/hibernate/metadata/schema/Identifier.java                  (rev 0)
+++ sandbox/trunk/new-metadata/src/main/java/org/hibernate/metadata/schema/Identifier.java  2010-08-20 02:07:25 UTC (rev 20201)
@@(protected) @@
+/*
+ * Hibernate, Relational Persistence for Idiomatic Java
+ *
+ * Copyright (c) 2010, Red Hat Inc. or third-party contributors as
+ * indicated by the @author tags or express copyright attribution
+ * statements applied by the authors. All third-party contributions are
+ * distributed under license by Red Hat Inc.
+ *
+ * This copyrighted material is made available to anyone wishing to use, modify,
+ * copy, or redistribute it subject to the terms and conditions of the GNU
+ * Lesser General Public License, as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * 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 distribution; if not, write to:
+ * Free Software Foundation, Inc.
+ * 51 Franklin Street, Fifth Floor
+ * Boston, MA 02110-1301 USA
+ */
+package org.hibernate.metadata.schema;
+
+import org.hibernate.util.StringHelper;
+
+/**
+ * Models an identifier (name).
+ *
+ * @author Steve Ebersole
+ */
+public class Identifier {
+  private final String name;
+  private final boolean isQuoted;
+
+  public static Identifier toIdentifier(String name) {
+    if ( name == null ) {
+      return null;
+    }
+    final String trimmedName = name.trim();
+    return new Identifier( trimmedName, trimmedName.startsWith( "`" ) && trimmedName.endsWith( "`" ) );
+  }
+
+  public Identifier(String name, boolean quoted) {
+    if ( StringHelper.isEmpty( name ) ) {
+      throw new IllegalNameException( "Identifier text/name cannot be null" );
+    }
+    this.name = name;
+    isQuoted = quoted;
+  }
+
+  public String getName() {
+    return name;
+  }
+
+  public boolean isQuoted() {
+    return isQuoted;
+  }
+
+  @Override
+  public String toString() {
+    return isQuoted
+        ? '`' + getName() + '`'
+        : getName();
+  }
+
+  @Override
+  public boolean equals(Object o) {
+    if ( this == o ) {
+      return true;
+    }
+    if ( o == null || getClass() != o.getClass() ) {
+      return false;
+    }
+
+    Identifier that = (Identifier) o;
+
+    return isQuoted == that.isQuoted
+        && name.equals( that.name );
+  }
+
+  @Override
+  public int hashCode() {
+    return name.hashCode();
+  }
+}

Modified: sandbox/trunk/new-metadata/src/main/java/org/hibernate/metadata/schema/ObjectName.java
===================================================================
--- sandbox/trunk/new-metadata/src/main/java/org/hibernate/metadata/schema/ObjectName.java  2010-08-20 01:01:03 UTC (rev 20200)
+++ sandbox/trunk/new-metadata/src/main/java/org/hibernate/metadata/schema/ObjectName.java  2010-08-20 02:07:25 UTC (rev 20201)
@@(protected) @@
*/
package org.hibernate.metadata.schema;

-import org.hibernate.util.StringHelper;
-
/**
* Models the qualified name of a database object.
*
* @author Steve Ebersole
*/
public class ObjectName {
-  public static class Identifier {
-    private final String name;
-    private final boolean isQuoted;
-
-    public Identifier(String name, boolean quoted) {
-      if ( StringHelper.isEmpty( name ) ) {
-        throw new IllegalNameException( "Identifier text/name cannot be null" );
-      }
-      this.name = name;
-      isQuoted = quoted;
-    }
-
-    public String getName() {
-      return name;
-    }
-
-    public boolean isQuoted() {
-      return isQuoted;
-    }
-
-    @Override
-    public String toString() {
-      return isQuoted
-          ? '`' + getName() + '`'
-          : getName();
-    }
-
-    @Override
-    public boolean equals(Object o) {
-      if ( this == o ) {
-        return true;
-      }
-      if ( o == null || getClass() != o.getClass() ) {
-        return false;
-      }
-
-      Identifier that = (Identifier) o;
-
-      return isQuoted == that.isQuoted
-          && name.equals( that.name );
-    }
-
-    @Override
-    public int hashCode() {
-      return name.hashCode();
-    }
-  }
-
 private final Identifier schema;
 private final Identifier catalog;
 private final Identifier name;
@@(protected) @@
 }

 public ObjectName(String schemaName, String catalogName, String name) {
-    this( toIdentifier( schemaName ), toIdentifier( catalogName ), toIdentifier( name ) );
+    this(
+        Identifier.toIdentifier( schemaName ),
+        Identifier.toIdentifier( catalogName ),
+        Identifier.toIdentifier( name )
+    );
 }

-  public static Identifier toIdentifier(String name) {
-    if ( name == null ) {
-      return null;
-    }
-    final String trimmedName = name.trim();
-    return new Identifier( trimmedName, trimmedName.startsWith( "`" ) && trimmedName.endsWith( "`" ) );
-  }
-
 /**
  * Creates a qualified name reference.
  *

Modified: sandbox/trunk/new-metadata/src/main/java/org/hibernate/metadata/schema/ValueContainer.java
===================================================================
--- sandbox/trunk/new-metadata/src/main/java/org/hibernate/metadata/schema/ValueContainer.java  2010-08-20 01:01:03 UTC (rev 20200)
+++ sandbox/trunk/new-metadata/src/main/java/org/hibernate/metadata/schema/ValueContainer.java  2010-08-20 02:07:25 UTC (rev 20201)
@@(protected) @@
 public String toLoggableString();

 /**
-   * Factory method for creating a {@(protected).
+   * Factory method for creating a {@(protected)
  *
  * @param name The column name
  *
@@(protected) @@
 public Column createColumn(String name);

 /**
+   * Factory method for creating a {@(protected)
+   *
+   * @param name The column identifier
+   *
+   * @return The generated column
+   */
+  public Column createColumn(Identifier name);
+
+  /**
  * Factory method for creating a {@(protected).
  *
  * @param fragment The value expression

_______________________________________________
hibernate-commits mailing list
hibernate-commits@(protected)
https://lists.jboss.org/mailman/listinfo/hibernate-commits
©2008 gg3721.com - Jax Systems, LLC, U.S.A.