001    /*
002      GRANITE DATA SERVICES
003      Copyright (C) 2011 GRANITE DATA SERVICES S.A.S.
004    
005      This file is part of Granite Data Services.
006    
007      Granite Data Services is free software; you can redistribute it and/or modify
008      it under the terms of the GNU Library General Public License as published by
009      the Free Software Foundation; either version 2 of the License, or (at your
010      option) any later version.
011    
012      Granite Data Services is distributed in the hope that it will be useful, but
013      WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
014      FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public License
015      for more details.
016    
017      You should have received a copy of the GNU Library General Public License
018      along with this library; if not, see <http://www.gnu.org/licenses/>.
019    */
020    
021    package org.granite.eclipselink;
022    
023    import org.eclipse.persistence.indirection.WeavedAttributeValueHolderInterface;
024    
025    
026    /**
027     * @author William DRAI
028     */
029    public class EclipseLinkValueHolder implements WeavedAttributeValueHolderInterface {
030    
031        private Object value = null;
032        
033        
034        public EclipseLinkValueHolder() {
035        }
036    
037        public void setValue(Object value) {
038            this.value = value;
039        }
040        
041        public Object getValue() {
042            return value;
043        }
044    
045        public boolean isInstantiated() {
046            return false;
047        }
048    
049        public boolean isCoordinatedWithProperty() {
050            return false;
051        }
052    
053        public boolean isNewlyWeavedValueHolder() {
054            return false;
055        }
056    
057            public boolean shouldAllowInstantiationDeferral() {
058                    return true;
059            }
060    
061        public void setIsCoordinatedWithProperty(boolean value) {
062        }
063    
064        public void setIsNewlyWeavedValueHolder(boolean value) {
065        }
066        
067        
068        @Override
069        public Object clone() {
070            EclipseLinkValueHolder vh = new EclipseLinkValueHolder();
071            vh.setValue(value);
072            return vh;
073        }
074    }