Package org.hibernate.annotations.common.annotationfactory

Examples of org.hibernate.annotations.common.annotationfactory.AnnotationDescriptor


        element.elements( isInverse ? "inverse-join-column" : "join-column" ) :
        null;
    List<JoinColumn> joinColumns = new ArrayList<JoinColumn>();
    if ( subelements != null ) {
      for ( Element subelement : subelements ) {
        AnnotationDescriptor column = new AnnotationDescriptor( JoinColumn.class );
        copyStringAttribute( column, subelement, "name", false );
        copyStringAttribute( column, subelement, "referenced-column-name", false );
        copyBooleanAttribute( column, subelement, "unique" );
        copyBooleanAttribute( column, subelement, "nullable" );
        copyBooleanAttribute( column, subelement, "insertable" );
View Full Code Here


          addAttributeOverrideIfNeeded( current, attributes );
        }
      }
    }
    if ( attributes.size() > 0 ) {
      AnnotationDescriptor ad = new AnnotationDescriptor( AttributeOverrides.class );
      ad.setValue( "value", attributes.toArray( new AttributeOverride[attributes.size()] ) );
      return AnnotationFactory.create( ad );
    }
    else {
      return null;
    }
View Full Code Here

    if ( subelements != null && subelements.size() > 0 ) {
      for ( Element current : subelements ) {
        if ( !current.getName().equals( nodeName ) ) {
          continue;
        }
        AnnotationDescriptor override = new AnnotationDescriptor( AttributeOverride.class );
        copyStringAttribute( override, current, "name", true );
        Element column = current.element( "column" );
        override.setValue( "column", getColumn( column, true, current ) );
        overrides.add( (AttributeOverride) AnnotationFactory.create( override ) );
      }
    }
    return overrides;
  }
View Full Code Here

  }

  private Column getColumn(Element element, boolean isMandatory, Element current) {
    //Element subelement = element != null ? element.element( "column" ) : null;
    if ( element != null ) {
      AnnotationDescriptor column = new AnnotationDescriptor( Column.class );
      copyStringAttribute( column, element, "name", false );
      copyBooleanAttribute( column, element, "unique" );
      copyBooleanAttribute( column, element, "nullable" );
      copyBooleanAttribute( column, element, "insertable" );
      copyBooleanAttribute( column, element, "updatable" );
View Full Code Here

  }

  private Access getAccessType(Element tree, XMLContext.Default defaults) {
    String access = tree == null ? null : tree.attributeValue( "access" );
    if ( access != null ) {
      AnnotationDescriptor ad = new AnnotationDescriptor( Access.class );
      AccessType type;
      try {
        type = AccessType.valueOf( access );
      }
      catch ( IllegalArgumentException e ) {
        throw new AnnotationException( access + " is not a valid access type. Check you xml confguration." );
      }
      ad.setValue( "value", type );
      return AnnotationFactory.create( ad );
    }
    else if ( defaults.canUseJavaAnnotations() && isJavaAnnotationPresent( Access.class ) ) {
      return getJavaAnnotation( Access.class );
    }
    else if ( defaults.getAccess() != null ) {
      AnnotationDescriptor ad = new AnnotationDescriptor( Access.class );
      ad.setValue( "value", defaults.getAccess() );
      return AnnotationFactory.create( ad );
    }
    else {
      return null;
    }
View Full Code Here

  private Annotation getMarkerAnnotation(
      Class<? extends Annotation> clazz, Element element, XMLContext.Default defaults
  ) {
    Element subelement = element == null ? null : element.element( annotationToXml.get( clazz ) );
    if ( subelement != null ) {
      return AnnotationFactory.create( new AnnotationDescriptor( clazz ) );
    }
    else if ( defaults.canUseJavaAnnotations() ) {
      //TODO wonder whether it should be excluded so that user can undone it
      return getJavaAnnotation( clazz );
    }
View Full Code Here

          addSqlResultsetMappingIfNeeded( current, results );
        }
      }
    }
    if ( results.size() > 0 ) {
      AnnotationDescriptor ad = new AnnotationDescriptor( SqlResultSetMappings.class );
      ad.setValue( "value", results.toArray( new SqlResultSetMapping[results.size()] ) );
      return AnnotationFactory.create( ad );
    }
    else {
      return null;
    }
View Full Code Here

    List resultsetElementList = element.elements( "sql-result-set-mapping" );
    List<SqlResultSetMapping> resultsets = new ArrayList<SqlResultSetMapping>();
    Iterator it = resultsetElementList.listIterator();
    while ( it.hasNext() ) {
      Element subelement = (Element) it.next();
      AnnotationDescriptor ann = new AnnotationDescriptor( SqlResultSetMapping.class );
      copyStringAttribute( ann, subelement, "name", true );
      List<Element> elements = subelement.elements( "entity-result" );
      List<EntityResult> entityResults = new ArrayList<EntityResult>( elements.size() );
      for ( Element entityResult : elements ) {
        AnnotationDescriptor entityResultDescriptor = new AnnotationDescriptor( EntityResult.class );
        String clazzName = entityResult.attributeValue( "entity-class" );
        if ( clazzName == null ) {
          throw new AnnotationException( "<entity-result> without entity-class. " + SCHEMA_VALIDATION );
        }
        Class clazz;
        try {
          clazz = ReflectHelper.classForName(
              XMLContext.buildSafeClassName( clazzName, defaults ),
              JPAOverridenAnnotationReader.class
          );
        }
        catch ( ClassNotFoundException e ) {
          throw new AnnotationException( "Unable to find entity-class: " + clazzName, e );
        }
        entityResultDescriptor.setValue( "entityClass", clazz );
        copyStringAttribute( entityResultDescriptor, entityResult, "discriminator-column", false );
        List<FieldResult> fieldResults = new ArrayList<FieldResult>();
        for ( Element fieldResult : (List<Element>) entityResult.elements( "field-result" ) ) {
          AnnotationDescriptor fieldResultDescriptor = new AnnotationDescriptor( FieldResult.class );
          copyStringAttribute( fieldResultDescriptor, fieldResult, "name", true );
          copyStringAttribute( fieldResultDescriptor, fieldResult, "column", true );
          fieldResults.add( (FieldResult) AnnotationFactory.create( fieldResultDescriptor ) );
        }
        entityResultDescriptor.setValue(
            "fields", fieldResults.toArray( new FieldResult[fieldResults.size()] )
        );
        entityResults.add( (EntityResult) AnnotationFactory.create( entityResultDescriptor ) );
      }
      ann.setValue( "entities", entityResults.toArray( new EntityResult[entityResults.size()] ) );

      elements = subelement.elements( "column-result" );
      List<ColumnResult> columnResults = new ArrayList<ColumnResult>( elements.size() );
      for ( Element columnResult : elements ) {
        AnnotationDescriptor columnResultDescriptor = new AnnotationDescriptor( ColumnResult.class );
        copyStringAttribute( columnResultDescriptor, columnResult, "name", true );
        columnResults.add( (ColumnResult) AnnotationFactory.create( columnResultDescriptor ) );
      }
      ann.setValue( "columns", columnResults.toArray( new ColumnResult[columnResults.size()] ) );
      //FIXME there is never such a result-class, get rid of it?
View Full Code Here

          addNamedQueryIfNeeded( current, queries );
        }
      }
    }
    if ( queries.size() > 0 ) {
      AnnotationDescriptor ad = new AnnotationDescriptor( NamedQueries.class );
      ad.setValue( "value", queries.toArray( new NamedQuery[queries.size()] ) );
      return AnnotationFactory.create( ad );
    }
    else {
      return null;
    }
View Full Code Here

          addNamedNativeQueryIfNeeded( current, queries );
        }
      }
    }
    if ( queries.size() > 0 ) {
      AnnotationDescriptor ad = new AnnotationDescriptor( NamedNativeQueries.class );
      ad.setValue( "value", queries.toArray( new NamedNativeQuery[queries.size()] ) );
      return AnnotationFactory.create( ad );
    }
    else {
      return null;
    }
View Full Code Here

TOP

Related Classes of org.hibernate.annotations.common.annotationfactory.AnnotationDescriptor

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.