org.hibernate.envers.configuration.internal.metadata.reader.ComponentAuditingData Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of hibernate-envers Show documentation
Show all versions of hibernate-envers Show documentation
Hibernate's entity version (audit/history) support
/*
* Hibernate, Relational Persistence for Idiomatic Java
*
* License: GNU Lesser General Public License (LGPL), version 2.1 or later.
* See the lgpl.txt file in the root directory or .
*/
package org.hibernate.envers.configuration.internal.metadata.reader;
import java.util.Map;
import java.util.Set;
import java.util.stream.Collectors;
import static org.hibernate.envers.internal.tools.Tools.newHashMap;
/**
* Audit mapping meta-data for component.
*
* @author Adam Warski (adam at warski dot org)
* @author Hern&aacut;n Chanfreau
* @author Chris Cranford
*/
public class ComponentAuditingData extends PropertyAuditingData implements AuditedPropertiesHolder {
private final Map properties;
public ComponentAuditingData() {
this.properties = newHashMap();
}
@Override
public boolean isEmpty() {
return properties.isEmpty();
}
@Override
public void addPropertyAuditingData(String propertyName, PropertyAuditingData auditingData) {
properties.put( propertyName, auditingData );
}
@Override
public PropertyAuditingData getPropertyAuditingData(String propertyName) {
return properties.get( propertyName );
}
@Override
public boolean contains(String propertyName) {
return properties.containsKey( propertyName );
}
public Set getPropertyNames() {
return properties.keySet();
}
public Iterable getNonSyntheticPropertyNames() {
return properties.entrySet().stream()
.filter( e -> !e.getValue().isSyntheic() )
.map( Map.Entry::getKey )
.collect( Collectors.toList() );
}
}