Java tutorial
/* * 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 <http://www.gnu.org/licenses/lgpl-2.1.html>. */ package org.hibernate.envers; /** * Type of the revision. * * @author Adam Warski (adam at warski dot org) */ public enum RevisionType { /** * Indicates that the entity was added (persisted) at that revision. */ ADD((byte) 0), /** * Indicates that the entity was modified (one or more of its fields) at that revision. */ MOD((byte) 1), /** * Indicates that the entity was deleted (removed) at that revision. */ DEL((byte) 2); private Byte representation; RevisionType(byte representation) { this.representation = representation; } public Byte getRepresentation() { return representation; } public static RevisionType fromRepresentation(Object representation) { if (representation == null || !(representation instanceof Byte)) { return null; } switch ((Byte) representation) { case 0: { return ADD; } case 1: { return MOD; } case 2: { return DEL; } default: { throw new IllegalArgumentException("Unknown representation: " + representation); } } } }