/********************************************************************** Copyright (c) 2006 Andy Jefferson and others. All rights reserved. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. Contributors: ... **********************************************************************/ package org.datanucleus.store.types; /** * Representation of a SCO that contains other (persistable) objects. * @param <T> Type being wrapped */ public interface SCOContainer<T> extends SCO<T> { /** * Inform the SCO that it should load itself fully now (in case it is using lazy loading). */ void load(); /** * Method to return if the SCO has its contents loaded. * If the SCO doesn't support lazy loading will just return true. * @return Whether it is loaded */ boolean isLoaded(); /** * Method to change the delegate value this wraps (to save recreating the wrapper). * @param value The new value */ void setValue(T value); }