gpt4 book ai didi

org.hibernate.cfg.annotations.reflection.XMLContext.buildSafeClassName()方法的使用及代码示例

转载 作者:知者 更新时间:2024-03-26 00:03:05 25 4
gpt4 key购买 nike

本文整理了Java中org.hibernate.cfg.annotations.reflection.XMLContext.buildSafeClassName()方法的一些代码示例,展示了XMLContext.buildSafeClassName()的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。XMLContext.buildSafeClassName()方法的具体详情如下:
包路径:org.hibernate.cfg.annotations.reflection.XMLContext
类名称:XMLContext
方法名:buildSafeClassName

XMLContext.buildSafeClassName介绍

暂无

代码示例

代码示例来源:origin: hibernate/hibernate-orm

public static String buildSafeClassName(String className, XMLContext.Default defaults) {
  return buildSafeClassName( className, defaults.getPackageName() );
}

代码示例来源:origin: hibernate/hibernate-orm

private List<String> addEntityListenerClasses(Element element, String packageName, List<String> addedClasses) {
  List<String> localAddedClasses = new ArrayList<>();
  Element listeners = element.element( "entity-listeners" );
  if ( listeners != null ) {
    @SuppressWarnings( "unchecked" )
    List<Element> elements = listeners.elements( "entity-listener" );
    for (Element listener : elements) {
      String listenerClassName = buildSafeClassName( listener.attributeValue( "class" ), packageName );
      if ( classOverriding.containsKey( listenerClassName ) ) {
        //maybe switch it to warn?
        if ( "entity-listener".equals( classOverriding.get( listenerClassName ).getName() ) ) {
          LOG.duplicateListener( listenerClassName );
          continue;
        }
        throw new IllegalStateException("Duplicate XML entry for " + listenerClassName);
      }
      localAddedClasses.add( listenerClassName );
      classOverriding.put( listenerClassName, listener );
    }
  }
  LOG.debugf( "Adding XML overriding information for listeners: %s", localAddedClasses );
  addedClasses.addAll( localAddedClasses );
  return localAddedClasses;
}

代码示例来源:origin: hibernate/hibernate-orm

private void addClass(List<Element> entities, String packageName, Default defaults, List<String> addedClasses) {
  for (Element element : entities) {
    String className = buildSafeClassName( element.attributeValue( "class" ), packageName );
    if ( classOverriding.containsKey( className ) ) {
      //maybe switch it to warn?
      throw new IllegalStateException( "Duplicate XML entry for " + className );
    }
    addedClasses.add( className );
    classOverriding.put( className, element );
    Default localDefault = new Default();
    localDefault.override( defaults );
    String metadataCompleteString = element.attributeValue( "metadata-complete" );
    if ( metadataCompleteString != null ) {
      localDefault.setMetadataComplete( Boolean.parseBoolean( metadataCompleteString ) );
    }
    String access = element.attributeValue( "access" );
    setAccess( access, localDefault );
    defaultsOverriding.put( className, localDefault );
    LOG.debugf( "Adding XML overriding information for %s", className );
    addEntityListenerClasses( element, packageName, addedClasses );
  }
}

代码示例来源:origin: hibernate/hibernate-orm

private static Class resolveClassReference(
    String className,
    XMLContext.Default defaults,
    ClassLoaderAccess classLoaderAccess) {
  if ( className == null ) {
    throw new AnnotationException( "<entity-result> without entity-class. " + SCHEMA_VALIDATION );
  }
  try {
    return classLoaderAccess.classForName(
        XMLContext.buildSafeClassName( className, defaults )
    );
  }
  catch ( ClassLoadingException e ) {
    throw new AnnotationException( "Unable to find specified class: " + className, e );
  }
}

代码示例来源:origin: hibernate/hibernate-orm

private void addTargetClass(Element element, AnnotationDescriptor ad, String nodeName, XMLContext.Default defaults) {
  String className = element.attributeValue( nodeName );
  if ( className != null ) {
    Class clazz;
    try {
      clazz = classLoaderAccess.classForName( XMLContext.buildSafeClassName( className, defaults ) );
    }
    catch ( ClassLoadingException e ) {
      throw new AnnotationException(
          "Unable to find " + element.getPath() + " " + nodeName + ": " + className, e
      );
    }
    ad.setValue( getJavaAttributeNameFromXMLOne( nodeName ), clazz );
  }
}

代码示例来源:origin: hibernate/hibernate-orm

private EntityListeners getEntityListeners(Element tree, XMLContext.Default defaults) {
  Element element = tree != null ? tree.element( "entity-listeners" ) : null;
  if ( element != null ) {
    List<Class> entityListenerClasses = new ArrayList<>();
    for ( Element subelement : (List<Element>) element.elements( "entity-listener" ) ) {
      String className = subelement.attributeValue( "class" );
      try {
        entityListenerClasses.add(
            classLoaderAccess.classForName(
                XMLContext.buildSafeClassName( className, defaults )
            )
        );
      }
      catch ( ClassLoadingException e ) {
        throw new AnnotationException(
            "Unable to find " + element.getPath() + ".class: " + className, e
        );
      }
    }
    AnnotationDescriptor ad = new AnnotationDescriptor( EntityListeners.class );
    ad.setValue( "value", entityListenerClasses.toArray( new Class[entityListenerClasses.size()] ) );
    return AnnotationFactory.create( ad );
  }
  else if ( defaults.canUseJavaAnnotations() ) {
    return getPhysicalAnnotation( EntityListeners.class );
  }
  else {
    return null;
  }
}

代码示例来源:origin: hibernate/hibernate-orm

private static void bindNamedSubgraph(
    XMLContext.Default defaults,
    AnnotationDescriptor ann,
    List<Element> subgraphNodes,
    ClassLoaderAccess classLoaderAccess) {
  List<NamedSubgraph> annSubgraphNodes = new ArrayList<>(  );
  for(Element subgraphNode : subgraphNodes){
    AnnotationDescriptor annSubgraphNode = new AnnotationDescriptor( NamedSubgraph.class );
    copyStringAttribute( annSubgraphNode, subgraphNode, "name", true );
    String clazzName = subgraphNode.attributeValue( "class" );
    Class clazz;
    try {
      clazz = classLoaderAccess.classForName(
          XMLContext.buildSafeClassName( clazzName, defaults )
      );
    }
    catch ( ClassLoadingException e ) {
      throw new AnnotationException( "Unable to find entity-class: " + clazzName, e );
    }
    annSubgraphNode.setValue( "type", clazz );
    bindNamedAttributeNodes(subgraphNode, annSubgraphNode);
    annSubgraphNodes.add( AnnotationFactory.create( annSubgraphNode ) );
  }
  ann.setValue( "subgraphs", annSubgraphNodes.toArray( new NamedSubgraph[annSubgraphNodes.size()] ) );
}

代码示例来源:origin: hibernate/hibernate-orm

private void getMapKeyClass(List<Annotation> annotationList, Element element, XMLContext.Default defaults) {
  String nodeName = "map-key-class";
  Element subelement = element != null ? element.element( nodeName ) : null;
  if ( subelement != null ) {
    String mapKeyClassName = subelement.attributeValue( "class" );
    AnnotationDescriptor ad = new AnnotationDescriptor( MapKeyClass.class );
    if ( StringHelper.isNotEmpty( mapKeyClassName ) ) {
      Class clazz;
      try {
        clazz = classLoaderAccess.classForName(
            XMLContext.buildSafeClassName( mapKeyClassName, defaults )
        );
      }
      catch ( ClassLoadingException e ) {
        throw new AnnotationException(
            "Unable to find " + element.getPath() + " " + nodeName + ": " + mapKeyClassName, e
        );
      }
      ad.setValue( "value", clazz );
    }
    annotationList.add( AnnotationFactory.create( ad ) );
  }
}

代码示例来源:origin: hibernate/hibernate-orm

try {
  clazz = classLoaderAccess.classForName(
      XMLContext.buildSafeClassName( clazzName, defaults )
  );
try {
  clazz = classLoaderAccess.classForName(
      XMLContext.buildSafeClassName( clazzName, defaults )
  );

代码示例来源:origin: hibernate/hibernate-orm

try {
  clazz = classLoaderAccess.classForName(
      XMLContext.buildSafeClassName( clazzName, defaults )
  );

代码示例来源:origin: hibernate/hibernate-orm

final String converterClassName = XMLContext.buildSafeClassName(
    converterClassAttr.getValue(),
    defaults

代码示例来源:origin: hibernate/hibernate-orm

private IdClass getIdClass(Element tree, XMLContext.Default defaults) {
  Element element = tree == null ? null : tree.element( "id-class" );
  if ( element != null ) {
    Attribute attr = element.attribute( "class" );
    if ( attr != null ) {
      AnnotationDescriptor ad = new AnnotationDescriptor( IdClass.class );
      Class clazz;
      try {
        clazz = classLoaderAccess.classForName( XMLContext.buildSafeClassName( attr.getValue(), defaults )
        );
      }
      catch ( ClassLoadingException e ) {
        throw new AnnotationException( "Unable to find id-class: " + attr.getValue(), e );
      }
      ad.setValue( "value", clazz );
      return AnnotationFactory.create( ad );
    }
    else {
      throw new AnnotationException( "id-class without class. " + SCHEMA_VALIDATION );
    }
  }
  else if ( defaults.canUseJavaAnnotations() ) {
    return getPhysicalAnnotation( IdClass.class );
  }
  else {
    return null;
  }
}

代码示例来源:origin: org.hibernate/hibernate-annotations

public static String buildSafeClassName(String className, XMLContext.Default defaults) {
  return buildSafeClassName( className, defaults.getPackageName() );
}

代码示例来源:origin: org.hibernate/hibernate-annotations

private List<String> addEntityListenerClasses(Element element, String packageName, List<String> addedClasses) {
  List<String> localAddedClasses = new ArrayList<String>();
  Element listeners = element.element( "entity-listeners" );
  if ( listeners != null ) {
    @SuppressWarnings( "unchecked" )
    List<Element> elements = (List<Element>) listeners.elements( "entity-listener" );
    for (Element listener : elements) {
      String listenerClassName = buildSafeClassName( listener.attributeValue( "class" ), packageName );
      if ( classOverriding.containsKey( listenerClassName ) ) {
        //maybe switch it to warn?
        if ( "entity-listener".equals( classOverriding.get( listenerClassName ).getName() ) ) {
          log.info(
              "entity-listener duplication, first event definition will be used: {}",
              listenerClassName
          );
          continue;
        }
        else {
          throw new IllegalStateException( "Duplicate XML entry for " + listenerClassName );
        }
      }
      localAddedClasses.add( listenerClassName );
      classOverriding.put( listenerClassName, listener );
    }
  }
  log.debug( "Adding XML overriding information for listener: {}", localAddedClasses );
  addedClasses.addAll( localAddedClasses );
  return localAddedClasses;
}

代码示例来源:origin: org.hibernate/hibernate-annotations

private void addClass(List<Element> entities, String packageName, Default defaults, List<String> addedClasses) {
  for (Element element : entities) {
    String className = buildSafeClassName( element.attributeValue( "class" ), packageName );
    if ( classOverriding.containsKey( className ) ) {
      //maybe switch it to warn?
      throw new IllegalStateException( "Duplicate XML entry for " + className );
    }
    addedClasses.add( className );
    classOverriding.put( className, element );
    Default localDefault = new Default();
    localDefault.override( defaults );
    String metadataCompleteString = element.attributeValue( "metadata-complete" );
    if ( metadataCompleteString != null ) {
      localDefault.setMetadataComplete( Boolean.parseBoolean( metadataCompleteString ) );
    }
    String access = element.attributeValue( "access" );
    setAccess( access, localDefault );
    defaultsOverriding.put( className, localDefault );
    log.debug( "Adding XML overriding information for {}", className );
    addEntityListenerClasses( element, packageName, addedClasses );
  }
}

代码示例来源:origin: org.hibernate/hibernate-annotations

private void addTargetClass(Element element, AnnotationDescriptor ad, String nodeName, XMLContext.Default defaults) {
  String className = element.attributeValue( nodeName );
  if ( className != null ) {
    Class clazz;
    try {
      clazz = ReflectHelper.classForName(
          XMLContext.buildSafeClassName( className, defaults ),
          this.getClass()
      );
    }
    catch (ClassNotFoundException e) {
      throw new AnnotationException(
          "Unable to find " + element.getPath() + " " + nodeName + ": " + className, e
      );
    }
    ad.setValue( getJavaAttributeNameFromXMLOne(nodeName), clazz );
  }
}

代码示例来源:origin: org.hibernate/hibernate-annotations

entityListenerClasses.add(
    ReflectHelper.classForName(
        XMLContext.buildSafeClassName( className, defaults ),
        this.getClass()

代码示例来源:origin: org.hibernate/hibernate-annotations

try {
  clazz = ReflectHelper.classForName(
      XMLContext.buildSafeClassName( clazzName, defaults ),
      JPAOverridenAnnotationReader.class
  );

代码示例来源:origin: org.hibernate/hibernate-annotations

try {
  clazz = ReflectHelper.classForName(
      XMLContext.buildSafeClassName( clazzName, defaults ),
      JPAOverridenAnnotationReader.class
  );
try {
  clazz = ReflectHelper.classForName(
      XMLContext.buildSafeClassName( clazzName, defaults ),
      JPAOverridenAnnotationReader.class
  );

代码示例来源:origin: org.hibernate/hibernate-annotations

private IdClass getIdClass(Element tree, XMLContext.Default defaults) {
  Element element = tree == null ? null : tree.element( "id-class" );
  if ( element != null ) {
    Attribute attr = element.attribute( "class" );
    if ( attr != null ) {
      AnnotationDescriptor ad = new AnnotationDescriptor( IdClass.class );
      Class clazz;
      try {
        clazz = ReflectHelper.classForName(
            XMLContext.buildSafeClassName( attr.getValue(), defaults ),
            this.getClass()
        );
      }
      catch (ClassNotFoundException e) {
        throw new AnnotationException( "Unable to find id-class: " + attr.getValue(), e );
      }
      ad.setValue( "value", clazz );
      return AnnotationFactory.create( ad );
    }
    else {
      throw new AnnotationException( "id-class without class. " + SCHEMA_VALIDATION );
    }
  }
  else if ( defaults.canUseJavaAnnotations() ) {
    return getJavaAnnotation( IdClass.class );
  }
  else {
    return null;
  }
}

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com