001// --------------------------------------------------------------------------------
002// Copyright 2002-2024 Echo Three, LLC
003//
004// Licensed under the Apache License, Version 2.0 (the "License");
005// you may not use this file except in compliance with the License.
006// You may obtain a copy of the License at
007//
008//     http://www.apache.org/licenses/LICENSE-2.0
009//
010// Unless required by applicable law or agreed to in writing, software
011// distributed under the License is distributed on an "AS IS" BASIS,
012// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
013// See the License for the specific language governing permissions and
014// limitations under the License.
015// --------------------------------------------------------------------------------
016
017package com.echothree.model.control.message.server.transfer;
018
019import com.echothree.model.control.message.server.control.MessageControl;
020import com.echothree.model.data.user.server.entity.UserVisit;
021import com.echothree.util.server.transfer.BaseTransferCaches;
022
023public class MessageTransferCaches
024        extends BaseTransferCaches {
025    
026    protected MessageControl messageControl;
027    
028    protected MessageTypeTransferCache messageTypeTransferCache;
029    protected MessageTypeDescriptionTransferCache messageTypeDescriptionTransferCache;
030    protected MessageTransferCache messageTransferCache;
031    protected MessageStringTransferCache messageStringTransferCache;
032    protected MessageBlobTransferCache messageBlobTransferCache;
033    protected MessageClobTransferCache messageClobTransferCache;
034    protected MessageDescriptionTransferCache messageDescriptionTransferCache;
035    protected EntityMessageTransferCache entityMessageTransferCache;
036    
037    /** Creates a new instance of MessageTransferCaches */
038    public MessageTransferCaches(UserVisit userVisit, MessageControl messageControl) {
039        super(userVisit);
040        
041        this.messageControl = messageControl;
042    }
043    
044    public MessageTypeTransferCache getMessageTypeTransferCache() {
045        if(messageTypeTransferCache == null)
046            messageTypeTransferCache = new MessageTypeTransferCache(userVisit, messageControl);
047        
048        return messageTypeTransferCache;
049    }
050    
051    public MessageTypeDescriptionTransferCache getMessageTypeDescriptionTransferCache() {
052        if(messageTypeDescriptionTransferCache == null)
053            messageTypeDescriptionTransferCache = new MessageTypeDescriptionTransferCache(userVisit, messageControl);
054        
055        return messageTypeDescriptionTransferCache;
056    }
057    
058    public MessageTransferCache getMessageTransferCache() {
059        if(messageTransferCache == null)
060            messageTransferCache = new MessageTransferCache(userVisit, messageControl);
061        
062        return messageTransferCache;
063    }
064    
065    public MessageStringTransferCache getMessageStringTransferCache() {
066        if(messageStringTransferCache == null)
067            messageStringTransferCache = new MessageStringTransferCache(userVisit, messageControl);
068        
069        return messageStringTransferCache;
070    }
071    
072    public MessageBlobTransferCache getMessageBlobTransferCache() {
073        if(messageBlobTransferCache == null)
074            messageBlobTransferCache = new MessageBlobTransferCache(userVisit, messageControl);
075        
076        return messageBlobTransferCache;
077    }
078    
079    public MessageClobTransferCache getMessageClobTransferCache() {
080        if(messageClobTransferCache == null)
081            messageClobTransferCache = new MessageClobTransferCache(userVisit, messageControl);
082        
083        return messageClobTransferCache;
084    }
085    
086    public MessageDescriptionTransferCache getMessageDescriptionTransferCache() {
087        if(messageDescriptionTransferCache == null)
088            messageDescriptionTransferCache = new MessageDescriptionTransferCache(userVisit, messageControl);
089        
090        return messageDescriptionTransferCache;
091    }
092    
093    public EntityMessageTransferCache getEntityMessageTransferCache() {
094        if(entityMessageTransferCache == null)
095            entityMessageTransferCache = new EntityMessageTransferCache(userVisit, messageControl);
096        
097        return entityMessageTransferCache;
098    }
099    
100}