1 /* 2 * Hibernate, Relational Persistence for Idiomatic Java 3 * 4 * Copyright (c) 2008, Red Hat Middleware LLC or third-party contributors as 5 * indicated by the @author tags or express copyright attribution 6 * statements applied by the authors. All third-party contributions are 7 * distributed under license by Red Hat Middleware LLC. 8 * 9 * This copyrighted material is made available to anyone wishing to use, modify, 10 * copy, or redistribute it subject to the terms and conditions of the GNU 11 * Lesser General Public License, as published by the Free Software Foundation. 12 * 13 * This program is distributed in the hope that it will be useful, 14 * but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY 15 * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License 16 * for more details. 17 * 18 * You should have received a copy of the GNU Lesser General Public License 19 * along with this distribution; if not, write to: 20 * Free Software Foundation, Inc. 21 * 51 Franklin Street, Fifth Floor 22 * Boston, MA 02110-1301 USA 23 * 24 */ 25 package org.hibernate.intercept; 26 27 import org.hibernate.engine.SessionImplementor; 28 29 /** 30 * Contract for field interception handlers. 31 * 32 * @author Steve Ebersole 33 */ 34 public interface FieldInterceptor { 35 36 /** 37 * Use to associate the entity to which we are bound to the given session. 38 * 39 * @param session The session to which we are now associated. 40 */ 41 public void setSession(SessionImplementor session); 42 43 /** 44 * Is the entity to which we are bound completely initialized? 45 * 46 * @return True if the entity is initialized; otherwise false. 47 */ 48 public boolean isInitialized(); 49 50 /** 51 * The the given field initialized for the entity to which we are bound? 52 * 53 * @param field The name of the field to check 54 * @return True if the given field is initialized; otherwise false. 55 */ 56 public boolean isInitialized(String field); 57 58 /** 59 * Forcefully mark the entity as being dirty. 60 */ 61 public void dirty(); 62 63 /** 64 * Is the entity considered dirty? 65 * 66 * @return True if the entity is dirty; otherwise false. 67 */ 68 public boolean isDirty(); 69 70 /** 71 * Clear the internal dirty flag. 72 */ 73 public void clearDirty(); 74 }