001// --------------------------------------------------------------------------------
002// Copyright 2002-2026 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.control.user.message.server;
018
019import com.echothree.control.user.message.common.MessageRemote;
020import com.echothree.control.user.message.common.form.*;
021import com.echothree.control.user.message.common.result.*;
022import com.echothree.control.user.message.server.command.*;
023import com.echothree.model.data.user.common.pk.UserVisitPK;
024import com.echothree.util.common.command.CommandResult;
025import com.echothree.util.common.command.VoidResult;
026import javax.ejb.Stateless;
027import javax.enterprise.inject.spi.CDI;
028
029@Stateless
030public class MessageBean
031        extends MessageFormsImpl
032        implements MessageRemote, MessageLocal {
033    
034    // -------------------------------------------------------------------------
035    //   Testing
036    // -------------------------------------------------------------------------
037    
038    @Override
039    public String ping() {
040        return "MessageBean is alive!";
041    }
042    
043    // -------------------------------------------------------------------------
044    //   Message Types
045    // -------------------------------------------------------------------------
046    
047    @Override
048    public CommandResult<CreateMessageTypeResult> createMessageType(UserVisitPK userVisitPK, CreateMessageTypeForm form) {
049        return CDI.current().select(CreateMessageTypeCommand.class).get().run(userVisitPK, form);
050    }
051    
052    @Override
053    public CommandResult<GetMessageTypeResult> getMessageType(UserVisitPK userVisitPK, GetMessageTypeForm form) {
054        return CDI.current().select(GetMessageTypeCommand.class).get().run(userVisitPK, form);
055    }
056    
057    @Override
058    public CommandResult<GetMessageTypesResult> getMessageTypes(UserVisitPK userVisitPK, GetMessageTypesForm form) {
059        return CDI.current().select(GetMessageTypesCommand.class).get().run(userVisitPK, form);
060    }
061    
062    @Override
063    public CommandResult<EditMessageTypeResult> editMessageType(UserVisitPK userVisitPK, EditMessageTypeForm form) {
064        return CDI.current().select(EditMessageTypeCommand.class).get().run(userVisitPK, form);
065    }
066    
067    @Override
068    public CommandResult<VoidResult> deleteMessageType(UserVisitPK userVisitPK, DeleteMessageTypeForm form) {
069        return CDI.current().select(DeleteMessageTypeCommand.class).get().run(userVisitPK, form);
070    }
071    
072    // -------------------------------------------------------------------------
073    //   Message Type Descriptions
074    // -------------------------------------------------------------------------
075    
076    @Override
077    public CommandResult<VoidResult> createMessageTypeDescription(UserVisitPK userVisitPK, CreateMessageTypeDescriptionForm form) {
078        return CDI.current().select(CreateMessageTypeDescriptionCommand.class).get().run(userVisitPK, form);
079    }
080    
081    @Override
082    public CommandResult<GetMessageTypeDescriptionsResult> getMessageTypeDescriptions(UserVisitPK userVisitPK, GetMessageTypeDescriptionsForm form) {
083        return CDI.current().select(GetMessageTypeDescriptionsCommand.class).get().run(userVisitPK, form);
084    }
085    
086    @Override
087    public CommandResult<EditMessageTypeDescriptionResult> editMessageTypeDescription(UserVisitPK userVisitPK, EditMessageTypeDescriptionForm form) {
088        return CDI.current().select(EditMessageTypeDescriptionCommand.class).get().run(userVisitPK, form);
089    }
090    
091    @Override
092    public CommandResult<VoidResult> deleteMessageTypeDescription(UserVisitPK userVisitPK, DeleteMessageTypeDescriptionForm form) {
093        return CDI.current().select(DeleteMessageTypeDescriptionCommand.class).get().run(userVisitPK, form);
094    }
095    
096    // -------------------------------------------------------------------------
097    //   Messages
098    // -------------------------------------------------------------------------
099    
100    @Override
101    public CommandResult<VoidResult> createMessage(UserVisitPK userVisitPK, CreateMessageForm form) {
102        return CDI.current().select(CreateMessageCommand.class).get().run(userVisitPK, form);
103    }
104    
105    @Override
106    public CommandResult<GetMessageResult> getMessage(UserVisitPK userVisitPK, GetMessageForm form) {
107        return CDI.current().select(GetMessageCommand.class).get().run(userVisitPK, form);
108    }
109    
110    @Override
111    public CommandResult<GetMessagesResult> getMessages(UserVisitPK userVisitPK, GetMessagesForm form) {
112        return CDI.current().select(GetMessagesCommand.class).get().run(userVisitPK, form);
113    }
114    
115    @Override
116    public CommandResult<VoidResult> deleteMessage(UserVisitPK userVisitPK, DeleteMessageForm form) {
117        return CDI.current().select(DeleteMessageCommand.class).get().run(userVisitPK, form);
118    }
119    
120    // -------------------------------------------------------------------------
121    //   Message Descriptions
122    // -------------------------------------------------------------------------
123    
124    @Override
125    public CommandResult<VoidResult> createMessageDescription(UserVisitPK userVisitPK, CreateMessageDescriptionForm form) {
126        return CDI.current().select(CreateMessageDescriptionCommand.class).get().run(userVisitPK, form);
127    }
128    
129    @Override
130    public CommandResult<GetMessageDescriptionsResult> getMessageDescriptions(UserVisitPK userVisitPK, GetMessageDescriptionsForm form) {
131        return CDI.current().select(GetMessageDescriptionsCommand.class).get().run(userVisitPK, form);
132    }
133    
134    @Override
135    public CommandResult<EditMessageDescriptionResult> editMessageDescription(UserVisitPK userVisitPK, EditMessageDescriptionForm form) {
136        return CDI.current().select(EditMessageDescriptionCommand.class).get().run(userVisitPK, form);
137    }
138    
139    @Override
140    public CommandResult<VoidResult> deleteMessageDescription(UserVisitPK userVisitPK, DeleteMessageDescriptionForm form) {
141        return CDI.current().select(DeleteMessageDescriptionCommand.class).get().run(userVisitPK, form);
142    }
143    
144    // -------------------------------------------------------------------------
145    //   Entity Messages
146    // -------------------------------------------------------------------------
147    
148    @Override
149    public CommandResult<VoidResult> createEntityMessage(UserVisitPK userVisitPK, CreateEntityMessageForm form) {
150        return CDI.current().select(CreateEntityMessageCommand.class).get().run(userVisitPK, form);
151    }
152    
153    @Override
154    public CommandResult<GetEntityMessageResult> getEntityMessage(UserVisitPK userVisitPK, GetEntityMessageForm form) {
155        return CDI.current().select(GetEntityMessageCommand.class).get().run(userVisitPK, form);
156    }
157    
158    @Override
159    public CommandResult<GetEntityMessagesResult> getEntityMessages(UserVisitPK userVisitPK, GetEntityMessagesForm form) {
160        return CDI.current().select(GetEntityMessagesCommand.class).get().run(userVisitPK, form);
161    }
162    
163    @Override
164    public CommandResult<VoidResult> deleteEntityMessage(UserVisitPK userVisitPK, DeleteEntityMessageForm form) {
165        return CDI.current().select(DeleteEntityMessageCommand.class).get().run(userVisitPK, form);
166    }
167    
168}