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.chain.common; 018 019import com.echothree.control.user.chain.common.form.*; 020import com.echothree.control.user.chain.common.result.*; 021import com.echothree.model.data.user.common.pk.UserVisitPK; 022import com.echothree.util.common.command.CommandResult; 023import com.echothree.util.common.command.VoidResult; 024 025public interface ChainService 026 extends ChainForms { 027 028 // ------------------------------------------------------------------------- 029 // Testing 030 // ------------------------------------------------------------------------- 031 032 String ping(); 033 034 // ------------------------------------------------------------------------- 035 // Chain Action Types 036 // ------------------------------------------------------------------------- 037 038 CommandResult<VoidResult> createChainActionType(UserVisitPK userVisitPK, CreateChainActionTypeForm form); 039 040 CommandResult<GetChainActionTypesResult> getChainActionTypes(UserVisitPK userVisitPK, GetChainActionTypesForm form); 041 042 CommandResult<GetChainActionTypeResult> getChainActionType(UserVisitPK userVisitPK, GetChainActionTypeForm form); 043 044 CommandResult<GetChainActionTypeChoicesResult> getChainActionTypeChoices(UserVisitPK userVisitPK, GetChainActionTypeChoicesForm form); 045 046 CommandResult<VoidResult> setDefaultChainActionType(UserVisitPK userVisitPK, SetDefaultChainActionTypeForm form); 047 048 CommandResult<EditChainActionTypeResult> editChainActionType(UserVisitPK userVisitPK, EditChainActionTypeForm form); 049 050 CommandResult<VoidResult> deleteChainActionType(UserVisitPK userVisitPK, DeleteChainActionTypeForm form); 051 052 // ------------------------------------------------------------------------- 053 // Chain Action Type Descriptions 054 // ------------------------------------------------------------------------- 055 056 CommandResult<VoidResult> createChainActionTypeDescription(UserVisitPK userVisitPK, CreateChainActionTypeDescriptionForm form); 057 058 CommandResult<GetChainActionTypeDescriptionsResult> getChainActionTypeDescriptions(UserVisitPK userVisitPK, GetChainActionTypeDescriptionsForm form); 059 060 CommandResult<GetChainActionTypeDescriptionResult> getChainActionTypeDescription(UserVisitPK userVisitPK, GetChainActionTypeDescriptionForm form); 061 062 CommandResult<EditChainActionTypeDescriptionResult> editChainActionTypeDescription(UserVisitPK userVisitPK, EditChainActionTypeDescriptionForm form); 063 064 CommandResult<VoidResult> deleteChainActionTypeDescription(UserVisitPK userVisitPK, DeleteChainActionTypeDescriptionForm form); 065 066 // -------------------------------------------------------------------------------- 067 // Chain Action Type Uses 068 // -------------------------------------------------------------------------------- 069 070 CommandResult<VoidResult> createChainActionTypeUse(UserVisitPK userVisitPK, CreateChainActionTypeUseForm form); 071 072 // ------------------------------------------------------------------------- 073 // Chain Kinds 074 // ------------------------------------------------------------------------- 075 076 CommandResult<VoidResult> createChainKind(UserVisitPK userVisitPK, CreateChainKindForm form); 077 078 CommandResult<GetChainKindsResult> getChainKinds(UserVisitPK userVisitPK, GetChainKindsForm form); 079 080 CommandResult<GetChainKindResult> getChainKind(UserVisitPK userVisitPK, GetChainKindForm form); 081 082 CommandResult<GetChainKindChoicesResult> getChainKindChoices(UserVisitPK userVisitPK, GetChainKindChoicesForm form); 083 084 CommandResult<VoidResult> setDefaultChainKind(UserVisitPK userVisitPK, SetDefaultChainKindForm form); 085 086 CommandResult<EditChainKindResult> editChainKind(UserVisitPK userVisitPK, EditChainKindForm form); 087 088 CommandResult<VoidResult> deleteChainKind(UserVisitPK userVisitPK, DeleteChainKindForm form); 089 090 // ------------------------------------------------------------------------- 091 // Chain Kind Descriptions 092 // ------------------------------------------------------------------------- 093 094 CommandResult<VoidResult> createChainKindDescription(UserVisitPK userVisitPK, CreateChainKindDescriptionForm form); 095 096 CommandResult<GetChainKindDescriptionsResult> getChainKindDescriptions(UserVisitPK userVisitPK, GetChainKindDescriptionsForm form); 097 098 CommandResult<GetChainKindDescriptionResult> getChainKindDescription(UserVisitPK userVisitPK, GetChainKindDescriptionForm form); 099 100 CommandResult<EditChainKindDescriptionResult> editChainKindDescription(UserVisitPK userVisitPK, EditChainKindDescriptionForm form); 101 102 CommandResult<VoidResult> deleteChainKindDescription(UserVisitPK userVisitPK, DeleteChainKindDescriptionForm form); 103 104 // ------------------------------------------------------------------------- 105 // Chain Types 106 // ------------------------------------------------------------------------- 107 108 CommandResult<VoidResult> createChainType(UserVisitPK userVisitPK, CreateChainTypeForm form); 109 110 CommandResult<GetChainTypesResult> getChainTypes(UserVisitPK userVisitPK, GetChainTypesForm form); 111 112 CommandResult<GetChainTypeResult> getChainType(UserVisitPK userVisitPK, GetChainTypeForm form); 113 114 CommandResult<GetChainTypeChoicesResult> getChainTypeChoices(UserVisitPK userVisitPK, GetChainTypeChoicesForm form); 115 116 CommandResult<VoidResult> setDefaultChainType(UserVisitPK userVisitPK, SetDefaultChainTypeForm form); 117 118 CommandResult<EditChainTypeResult> editChainType(UserVisitPK userVisitPK, EditChainTypeForm form); 119 120 CommandResult<VoidResult> deleteChainType(UserVisitPK userVisitPK, DeleteChainTypeForm form); 121 122 // ------------------------------------------------------------------------- 123 // Chain Type Descriptions 124 // ------------------------------------------------------------------------- 125 126 CommandResult<VoidResult> createChainTypeDescription(UserVisitPK userVisitPK, CreateChainTypeDescriptionForm form); 127 128 CommandResult<GetChainTypeDescriptionsResult> getChainTypeDescriptions(UserVisitPK userVisitPK, GetChainTypeDescriptionsForm form); 129 130 CommandResult<GetChainTypeDescriptionResult> getChainTypeDescription(UserVisitPK userVisitPK, GetChainTypeDescriptionForm form); 131 132 CommandResult<EditChainTypeDescriptionResult> editChainTypeDescription(UserVisitPK userVisitPK, EditChainTypeDescriptionForm form); 133 134 CommandResult<VoidResult> deleteChainTypeDescription(UserVisitPK userVisitPK, DeleteChainTypeDescriptionForm form); 135 136 // ------------------------------------------------------------------------- 137 // Chain Entity Role Types 138 // ------------------------------------------------------------------------- 139 140 CommandResult<VoidResult> createChainEntityRoleType(UserVisitPK userVisitPK, CreateChainEntityRoleTypeForm form); 141 142 CommandResult<GetChainEntityRoleTypesResult> getChainEntityRoleTypes(UserVisitPK userVisitPK, GetChainEntityRoleTypesForm form); 143 144 CommandResult<GetChainEntityRoleTypeResult> getChainEntityRoleType(UserVisitPK userVisitPK, GetChainEntityRoleTypeForm form); 145 146 CommandResult<EditChainEntityRoleTypeResult> editChainEntityRoleType(UserVisitPK userVisitPK, EditChainEntityRoleTypeForm form); 147 148 CommandResult<VoidResult> deleteChainEntityRoleType(UserVisitPK userVisitPK, DeleteChainEntityRoleTypeForm form); 149 150 // ------------------------------------------------------------------------- 151 // Chain Entity Role Type Descriptions 152 // ------------------------------------------------------------------------- 153 154 CommandResult<VoidResult> createChainEntityRoleTypeDescription(UserVisitPK userVisitPK, CreateChainEntityRoleTypeDescriptionForm form); 155 156 CommandResult<GetChainEntityRoleTypeDescriptionsResult> getChainEntityRoleTypeDescriptions(UserVisitPK userVisitPK, GetChainEntityRoleTypeDescriptionsForm form); 157 158 CommandResult<GetChainEntityRoleTypeDescriptionResult> getChainEntityRoleTypeDescription(UserVisitPK userVisitPK, GetChainEntityRoleTypeDescriptionForm form); 159 160 CommandResult<EditChainEntityRoleTypeDescriptionResult> editChainEntityRoleTypeDescription(UserVisitPK userVisitPK, EditChainEntityRoleTypeDescriptionForm form); 161 162 CommandResult<VoidResult> deleteChainEntityRoleTypeDescription(UserVisitPK userVisitPK, DeleteChainEntityRoleTypeDescriptionForm form); 163 164 // ------------------------------------------------------------------------- 165 // Chains 166 // ------------------------------------------------------------------------- 167 168 CommandResult<VoidResult> createChain(UserVisitPK userVisitPK, CreateChainForm form); 169 170 CommandResult<GetChainsResult> getChains(UserVisitPK userVisitPK, GetChainsForm form); 171 172 CommandResult<GetChainResult> getChain(UserVisitPK userVisitPK, GetChainForm form); 173 174 CommandResult<GetChainChoicesResult> getChainChoices(UserVisitPK userVisitPK, GetChainChoicesForm form); 175 176 CommandResult<VoidResult> setDefaultChain(UserVisitPK userVisitPK, SetDefaultChainForm form); 177 178 CommandResult<EditChainResult> editChain(UserVisitPK userVisitPK, EditChainForm form); 179 180 CommandResult<VoidResult> deleteChain(UserVisitPK userVisitPK, DeleteChainForm form); 181 182 // ------------------------------------------------------------------------- 183 // Chain Descriptions 184 // ------------------------------------------------------------------------- 185 186 CommandResult<VoidResult> createChainDescription(UserVisitPK userVisitPK, CreateChainDescriptionForm form); 187 188 CommandResult<GetChainDescriptionsResult> getChainDescriptions(UserVisitPK userVisitPK, GetChainDescriptionsForm form); 189 190 CommandResult<GetChainDescriptionResult> getChainDescription(UserVisitPK userVisitPK, GetChainDescriptionForm form); 191 192 CommandResult<EditChainDescriptionResult> editChainDescription(UserVisitPK userVisitPK, EditChainDescriptionForm form); 193 194 CommandResult<VoidResult> deleteChainDescription(UserVisitPK userVisitPK, DeleteChainDescriptionForm form); 195 196 // ------------------------------------------------------------------------- 197 // Chain Action Sets 198 // ------------------------------------------------------------------------- 199 200 CommandResult<VoidResult> createChainActionSet(UserVisitPK userVisitPK, CreateChainActionSetForm form); 201 202 CommandResult<GetChainActionSetsResult> getChainActionSets(UserVisitPK userVisitPK, GetChainActionSetsForm form); 203 204 CommandResult<GetChainActionSetResult> getChainActionSet(UserVisitPK userVisitPK, GetChainActionSetForm form); 205 206 CommandResult<GetChainActionSetChoicesResult> getChainActionSetChoices(UserVisitPK userVisitPK, GetChainActionSetChoicesForm form); 207 208 CommandResult<VoidResult> setDefaultChainActionSet(UserVisitPK userVisitPK, SetDefaultChainActionSetForm form); 209 210 CommandResult<EditChainActionSetResult> editChainActionSet(UserVisitPK userVisitPK, EditChainActionSetForm form); 211 212 CommandResult<VoidResult> deleteChainActionSet(UserVisitPK userVisitPK, DeleteChainActionSetForm form); 213 214 // ------------------------------------------------------------------------- 215 // Chain Action Set Descriptions 216 // ------------------------------------------------------------------------- 217 218 CommandResult<VoidResult> createChainActionSetDescription(UserVisitPK userVisitPK, CreateChainActionSetDescriptionForm form); 219 220 CommandResult<GetChainActionSetDescriptionsResult> getChainActionSetDescriptions(UserVisitPK userVisitPK, GetChainActionSetDescriptionsForm form); 221 222 CommandResult<GetChainActionSetDescriptionResult> getChainActionSetDescription(UserVisitPK userVisitPK, GetChainActionSetDescriptionForm form); 223 224 CommandResult<EditChainActionSetDescriptionResult> editChainActionSetDescription(UserVisitPK userVisitPK, EditChainActionSetDescriptionForm form); 225 226 CommandResult<VoidResult> deleteChainActionSetDescription(UserVisitPK userVisitPK, DeleteChainActionSetDescriptionForm form); 227 228 // ------------------------------------------------------------------------- 229 // Chain Actions 230 // ------------------------------------------------------------------------- 231 232 CommandResult<VoidResult> createChainAction(UserVisitPK userVisitPK, CreateChainActionForm form); 233 234 CommandResult<GetChainActionsResult> getChainActions(UserVisitPK userVisitPK, GetChainActionsForm form); 235 236 CommandResult<GetChainActionResult> getChainAction(UserVisitPK userVisitPK, GetChainActionForm form); 237 238 CommandResult<EditChainActionResult> editChainAction(UserVisitPK userVisitPK, EditChainActionForm form); 239 240 CommandResult<VoidResult> deleteChainAction(UserVisitPK userVisitPK, DeleteChainActionForm form); 241 242 // ------------------------------------------------------------------------- 243 // Chain Action Descriptions 244 // ------------------------------------------------------------------------- 245 246 CommandResult<VoidResult> createChainActionDescription(UserVisitPK userVisitPK, CreateChainActionDescriptionForm form); 247 248 CommandResult<GetChainActionDescriptionsResult> getChainActionDescriptions(UserVisitPK userVisitPK, GetChainActionDescriptionsForm form); 249 250 CommandResult<GetChainActionDescriptionResult> getChainActionDescription(UserVisitPK userVisitPK, GetChainActionDescriptionForm form); 251 252 CommandResult<EditChainActionDescriptionResult> editChainActionDescription(UserVisitPK userVisitPK, EditChainActionDescriptionForm form); 253 254 CommandResult<VoidResult> deleteChainActionDescription(UserVisitPK userVisitPK, DeleteChainActionDescriptionForm form); 255 256 // ------------------------------------------------------------------------- 257 // Chain Instances 258 // ------------------------------------------------------------------------- 259 260 CommandResult<GetChainInstanceResult> getChainInstance(UserVisitPK userVisitPK, GetChainInstanceForm form); 261 262 CommandResult<GetChainInstancesResult> getChainInstances(UserVisitPK userVisitPK, GetChainInstancesForm form); 263 264 // ------------------------------------------------------------------------- 265 // Chain Instance Statuses 266 // ------------------------------------------------------------------------- 267 268 CommandResult<VoidResult> processChainInstanceStatuses(UserVisitPK userVisitPK); 269 270}