📄 configuration.java
字号:
} } } private void parseEvent(Element element) { String type = element.attributeValue( "type" ); List listeners = element.elements(); String[] listenerClasses = new String[ listeners.size() ]; for ( int i = 0; i < listeners.size() ; i++ ) { listenerClasses[i] = ( (Element) listeners.get( i ) ).attributeValue( "class" ); } log.debug( "Event listeners: " + type + "=" + StringHelper.toString( listenerClasses ) ); setListeners( type, listenerClasses ); } private void parseListener(Element element) { String type = element.attributeValue( "type" ); if ( type == null ) { throw new MappingException( "No type specified for listener" ); } String impl = element.attributeValue( "class" ); log.debug( "Event listener: " + type + "=" + impl ); setListeners( type, new String[]{impl} ); } public void setListener(String type, String listener) { String[] listeners = null; if ( listener != null ) { listeners = (String[]) Array.newInstance( String.class, 1 ); listeners[0] = listener; } setListeners( type, listeners ); } public void setListeners(String type, String[] listenerClasses) { Object[] listeners = null; if ( listenerClasses != null ) { listeners = (Object[]) Array.newInstance( eventListeners.getListenerClassFor(type), listenerClasses.length ); for ( int i = 0; i < listeners.length ; i++ ) { try { listeners[i] = ReflectHelper.classForName( listenerClasses[i] ).newInstance(); } catch (Exception e) { throw new MappingException( "Unable to instantiate specified event (" + type + ") listener class: " + listenerClasses[i], e ); } } } setListeners( type, listeners ); } public void setListener(String type, Object listener) { Object[] listeners = null; if ( listener != null ) { listeners = (Object[]) Array.newInstance( eventListeners.getListenerClassFor(type), 1 ); listeners[0] = listener; } setListeners( type, listeners ); } public void setListeners(String type, Object[] listeners) { if ( "auto-flush".equals( type ) ) { if ( listeners == null ) { eventListeners.setAutoFlushEventListeners( new AutoFlushEventListener[]{} ); } else { eventListeners.setAutoFlushEventListeners( (AutoFlushEventListener[]) listeners ); } } else if ( "merge".equals( type ) ) { if ( listeners == null ) { eventListeners.setMergeEventListeners( new MergeEventListener[]{} ); } else { eventListeners.setMergeEventListeners( (MergeEventListener[]) listeners ); } } else if ( "create".equals( type ) ) { if ( listeners == null ) { eventListeners.setPersistEventListeners( new PersistEventListener[]{} ); } else { eventListeners.setPersistEventListeners( (PersistEventListener[]) listeners ); } } else if ( "create-onflush".equals( type ) ) { if ( listeners == null ) { eventListeners.setPersistOnFlushEventListeners( new PersistEventListener[]{} ); } else { eventListeners.setPersistOnFlushEventListeners( (PersistEventListener[]) listeners ); } } else if ( "delete".equals( type ) ) { if ( listeners == null ) { eventListeners.setDeleteEventListeners( new DeleteEventListener[]{} ); } else { eventListeners.setDeleteEventListeners( (DeleteEventListener[]) listeners ); } } else if ( "dirty-check".equals( type ) ) { if ( listeners == null ) { eventListeners.setDirtyCheckEventListeners( new DirtyCheckEventListener[]{} ); } else { eventListeners.setDirtyCheckEventListeners( (DirtyCheckEventListener[]) listeners ); } } else if ( "evict".equals( type ) ) { if ( listeners == null ) { eventListeners.setEvictEventListeners( new EvictEventListener[]{} ); } else { eventListeners.setEvictEventListeners( (EvictEventListener[]) listeners ); } } else if ( "flush".equals( type ) ) { if ( listeners == null ) { eventListeners.setFlushEventListeners( new FlushEventListener[]{} ); } else { eventListeners.setFlushEventListeners( (FlushEventListener[]) listeners ); } } else if ( "flush-entity".equals( type ) ) { if ( listeners == null ) { eventListeners.setFlushEntityEventListeners( new FlushEntityEventListener[]{} ); } else { eventListeners.setFlushEntityEventListeners( (FlushEntityEventListener[]) listeners ); } } else if ( "load".equals( type ) ) { if ( listeners == null ) { eventListeners.setLoadEventListeners( new LoadEventListener[]{} ); } else { eventListeners.setLoadEventListeners( (LoadEventListener[]) listeners ); } } else if ( "load-collection".equals( type ) ) { if ( listeners == null ) { eventListeners.setInitializeCollectionEventListeners( new InitializeCollectionEventListener[]{} ); } else { eventListeners.setInitializeCollectionEventListeners( (InitializeCollectionEventListener[]) listeners ); } } else if ( "lock".equals( type ) ) { if ( listeners == null ) { eventListeners.setLockEventListeners( new LockEventListener[]{} ); } else { eventListeners.setLockEventListeners( (LockEventListener[]) listeners ); } } else if ( "refresh".equals( type ) ) { if ( listeners == null ) { eventListeners.setRefreshEventListeners( new RefreshEventListener[]{} ); } else { eventListeners.setRefreshEventListeners( (RefreshEventListener[]) listeners ); } } else if ( "replicate".equals( type ) ) { if ( listeners == null ) { eventListeners.setReplicateEventListeners( new ReplicateEventListener[]{} ); } else { eventListeners.setReplicateEventListeners( (ReplicateEventListener[]) listeners ); } } else if ( "save-update".equals( type ) ) { if ( listeners == null ) { eventListeners.setSaveOrUpdateEventListeners( new SaveOrUpdateEventListener[]{} ); } else { eventListeners.setSaveOrUpdateEventListeners( (SaveOrUpdateEventListener[]) listeners ); } } else if ( "save".equals( type ) ) { if ( listeners == null ) { eventListeners.setSaveEventListeners( new SaveOrUpdateEventListener[]{} ); } else { eventListeners.setSaveEventListeners( (SaveOrUpdateEventListener[]) listeners ); } } else if ( "update".equals( type ) ) { if ( listeners == null ) { eventListeners.setUpdateEventListeners( new SaveOrUpdateEventListener[]{} ); } else { eventListeners.setUpdateEventListeners( (SaveOrUpdateEventListener[]) listeners ); } } else if ( "pre-load".equals( type ) ) { if ( listeners == null ) { eventListeners.setPreLoadEventListeners( new PreLoadEventListener[]{} ); } else { eventListeners.setPreLoadEventListeners( (PreLoadEventListener[]) listeners ); } } else if ( "pre-update".equals( type ) ) { if ( listeners == null ) { eventListeners.setPreUpdateEventListeners( new PreUpdateEventListener[]{} ); } else { eventListeners.setPreUpdateEventListeners( (PreUpdateEventListener[]) listeners ); } } else if ( "pre-delete".equals( type ) ) { if ( listeners == null ) { eventListeners.setPreDeleteEventListeners( new PreDeleteEventListener[]{} ); } else { eventListeners.setPreDeleteEventListeners( (PreDeleteEventListener[]) listeners ); } } else if ( "pre-insert".equals( type ) ) { if ( listeners == null ) { eventListeners.setPreInsertEventListeners( new PreInsertEventListener[]{} ); } else { eventListeners.setPreInsertEventListeners( (PreInsertEventListener[]) listeners ); } } else if ( "pre-collection-recreate".equals( type ) ) { if ( listeners == null ) { eventListeners.setPreCollectionRecreateEventListeners( new PreCollectionRecreateEventListener[]{} ); } else { eventListeners.setPreCollectionRecreateEventListeners( (PreCollectionRecreateEventListener[]) listeners ); } } else if ( "pre-collection-remove".equals( type ) ) { if ( listeners == null ) { eventListeners.setPreCollectionRemoveEventListeners( new PreCollectionRemoveEventListener[]{} ); } else { eventListeners.setPreCollectionRemoveEventListeners( ( PreCollectionRemoveEventListener[]) listeners ); } } else if ( "pre-collection-update".equals( type ) ) { if ( listeners == null ) { eventListeners.setPreCollectionUpdateEventListeners( new PreCollectionUpdateEventListener[]{} ); } else { eventListeners.setPreCollectionUpdateEventListeners( ( PreCollectionUpdateEventListener[]) listeners ); } } else if ( "post-load".equals( type ) ) { if ( listeners == null ) { eventListeners.setPostLoadEventListeners( new PostLoadEventListener[]{} ); } else { eventListeners.setPostLoadEventListeners( (PostLoadEventListener[]) listeners ); } } else if ( "post-update".equals( type ) ) { if ( listeners == null ) { eventListeners.setPostUpdateEventListeners( new PostUpdateEventListener[]{} ); } else { eventListeners.setPostUpdateEventListeners( (PostUpdateEventListener[]) listeners ); } } else if ( "post-delete".equals( type ) ) { if ( listeners == null ) { eventListeners.setPostDeleteEventListeners( new PostDeleteEventListener[]{} ); } else { eventListeners.setPostDeleteEventListeners( (PostDeleteEventListener[]) listeners ); } } else if ( "post-insert".equals( type ) ) { if ( listeners == null ) { eventListeners.setPostInsertEventListeners( new PostInsertEventListener[]{} ); } else { eventListeners.setPostInsertEventListeners( (PostInsertEventListener[]) listeners ); } } else if ( "post-commit-update".equals( type ) ) { if ( listeners == null ) { eventListeners.setPostCommitUpdateEventListeners( new PostUpdateEventListener[]{} ); } else { eventListeners.setPostCommitUpdateEventListeners( (PostUpdateEventListener[]) listeners ); } } else if ( "post-commit-delete".equals( type ) ) { if ( listeners == null ) { eventListeners.setPostCommitDeleteEventListeners( new PostDeleteEventListener[]{} ); } else { eventListeners.setPostCommitDeleteEventListeners( (PostDeleteEventListener[]) listeners ); } } else if ( "post-commit-insert".equals( type ) ) { if ( listeners == null ) { eventListeners.setPostCommitInsertEventListeners( new PostInsertEventListener[]{} ); } else { eventListeners.setPostCommitInsertEventListeners( (PostInsertEventListener[]) listeners ); } } else if ( "post-collection-recreate".equals( type ) ) { if ( listeners == null ) { eventListeners.setPostCollectionRecreateEventListeners( new PostCollectionRecreateEventListener[]{} ); } else { eventListeners.setPostCollectionRecreateEventListeners( (PostCollectionRecreateEventListener[]) listeners ); } } else if ( "post-collection-remove".equals( type ) ) { if ( listeners == null ) { eventListeners.setPostCollectionRemoveEventListeners( new PostCollectionRemoveEventListener[]{} ); } else { eventListeners.setPostCollectionRemoveEventListeners( ( PostCollectionRemoveEventListener[]) listeners ); } } else if ( "post-collection-update".equals( type ) ) { if ( listeners == null ) { eventListeners.setPostCollectionUpdateEventListeners( new PostCollectionUpdateEventListener[]{} ); } else { eventListeners.setPostCollectionUpdateEventListeners( ( PostCollectionUpdateEventListener[]) listeners ); } } else { throw new MappingException("Unrecognized listener type [" + type + "]"); } } public EventListeners getEventListeners() { return eventListeners; } RootClass getRootClassMapping(String clazz) throws MappingException { try { return (RootClass) getClassMapping( clazz ); } catch (ClassCastException cce) { throw new MappingException( "You may only specify a cache for root <class> mappings" ); } } /** * Set up a cache for an entity class * * @param clazz * @param concurrencyStrategy * @return Configuration * @throws MappingException */ public Configuration setCacheConcurrencyStrategy(String clazz, String concurrencyStrategy) throws MappingException { setCacheConcurrencyStrategy( clazz, concurrencyStrategy, clazz ); return this; } public void setCacheConcurrencyStrategy(String clazz, String concurrencyStrategy, String region) throws MappingException { setCacheConcurrencyStrategy( clazz, concurrencyStrategy, region, true ); } void setCacheConcurrencyStrategy(String clazz, String concurrencyStrategy, String region, boolean includeLazy) throws MappingException { RootClass rootClass = getRootClassMapping( clazz ); if ( rootClass == null ) { throw new MappingException( "Cannot cache an unknown entity: " + clazz ); } rootClass.setCacheConcurrencyStrategy( concurrencyStrategy ); rootClass.setCacheRegionName( region ); rootClass.setLazyPropertiesCacheable( includeLazy ); } /** * Set up a cache for a collection role * * @param collectionRole * @param concurrencyStrategy * @return Configuration * @throws MappingException */ public Configuration setCollectionCacheConcurrencyStrategy(String collectionRole, String concurrencyStrategy) throws MappingException { setCollectionCacheConcurrencyStrategy( collectionRole, concurrencyStrategy, collectionRole ); return this; } public void setCollectionCacheConcurrencyStrategy(String collectionRole, String concurrencyStrategy, String region) throws MappingException { Collection collection = getCollectionMapping( collectionRole ); if ( collection == null ) { throw new MappingException( "Cannot cache an unknown collection: " + collectionRole ); } collection.setCach
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -