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.picklist.common;
018
019import com.echothree.control.user.picklist.common.form.*;
020import com.echothree.control.user.picklist.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 PicklistService
026        extends PicklistForms {
027    
028    // -------------------------------------------------------------------------
029    //   Testing
030    // -------------------------------------------------------------------------
031    
032    String ping();
033    
034    // --------------------------------------------------------------------------------
035    //   Picklist Types
036    // --------------------------------------------------------------------------------
037
038    CommandResult<VoidResult> createPicklistType(UserVisitPK userVisitPK, CreatePicklistTypeForm form);
039
040    CommandResult<GetPicklistTypeChoicesResult> getPicklistTypeChoices(UserVisitPK userVisitPK, GetPicklistTypeChoicesForm form);
041
042    CommandResult<GetPicklistTypeResult> getPicklistType(UserVisitPK userVisitPK, GetPicklistTypeForm form);
043
044    CommandResult<GetPicklistTypesResult> getPicklistTypes(UserVisitPK userVisitPK, GetPicklistTypesForm form);
045
046    CommandResult<VoidResult> setDefaultPicklistType(UserVisitPK userVisitPK, SetDefaultPicklistTypeForm form);
047
048    CommandResult<EditPicklistTypeResult> editPicklistType(UserVisitPK userVisitPK, EditPicklistTypeForm form);
049
050    CommandResult<VoidResult> deletePicklistType(UserVisitPK userVisitPK, DeletePicklistTypeForm form);
051
052    // --------------------------------------------------------------------------------
053    //   Picklist Type Descriptions
054    // --------------------------------------------------------------------------------
055
056    CommandResult<VoidResult> createPicklistTypeDescription(UserVisitPK userVisitPK, CreatePicklistTypeDescriptionForm form);
057
058    CommandResult<GetPicklistTypeDescriptionResult> getPicklistTypeDescription(UserVisitPK userVisitPK, GetPicklistTypeDescriptionForm form);
059
060    CommandResult<GetPicklistTypeDescriptionsResult> getPicklistTypeDescriptions(UserVisitPK userVisitPK, GetPicklistTypeDescriptionsForm form);
061
062    CommandResult<EditPicklistTypeDescriptionResult> editPicklistTypeDescription(UserVisitPK userVisitPK, EditPicklistTypeDescriptionForm form);
063
064    CommandResult<VoidResult> deletePicklistTypeDescription(UserVisitPK userVisitPK, DeletePicklistTypeDescriptionForm form);
065
066    // --------------------------------------------------------------------------------
067    //   Picklist Time Types
068    // --------------------------------------------------------------------------------
069
070    CommandResult<VoidResult> createPicklistTimeType(UserVisitPK userVisitPK, CreatePicklistTimeTypeForm form);
071
072    CommandResult<GetPicklistTimeTypeChoicesResult> getPicklistTimeTypeChoices(UserVisitPK userVisitPK, GetPicklistTimeTypeChoicesForm form);
073
074    CommandResult<GetPicklistTimeTypeResult> getPicklistTimeType(UserVisitPK userVisitPK, GetPicklistTimeTypeForm form);
075
076    CommandResult<GetPicklistTimeTypesResult> getPicklistTimeTypes(UserVisitPK userVisitPK, GetPicklistTimeTypesForm form);
077
078    CommandResult<VoidResult> setDefaultPicklistTimeType(UserVisitPK userVisitPK, SetDefaultPicklistTimeTypeForm form);
079
080    CommandResult<EditPicklistTimeTypeResult> editPicklistTimeType(UserVisitPK userVisitPK, EditPicklistTimeTypeForm form);
081
082    CommandResult<VoidResult> deletePicklistTimeType(UserVisitPK userVisitPK, DeletePicklistTimeTypeForm form);
083
084    // --------------------------------------------------------------------------------
085    //   Picklist Time Type Descriptions
086    // --------------------------------------------------------------------------------
087
088    CommandResult<VoidResult> createPicklistTimeTypeDescription(UserVisitPK userVisitPK, CreatePicklistTimeTypeDescriptionForm form);
089
090    CommandResult<GetPicklistTimeTypeDescriptionResult> getPicklistTimeTypeDescription(UserVisitPK userVisitPK, GetPicklistTimeTypeDescriptionForm form);
091
092    CommandResult<GetPicklistTimeTypeDescriptionsResult> getPicklistTimeTypeDescriptions(UserVisitPK userVisitPK, GetPicklistTimeTypeDescriptionsForm form);
093
094    CommandResult<EditPicklistTimeTypeDescriptionResult> editPicklistTimeTypeDescription(UserVisitPK userVisitPK, EditPicklistTimeTypeDescriptionForm form);
095
096    CommandResult<VoidResult> deletePicklistTimeTypeDescription(UserVisitPK userVisitPK, DeletePicklistTimeTypeDescriptionForm form);
097
098    // --------------------------------------------------------------------------------
099    //   Picklist Alias Types
100    // --------------------------------------------------------------------------------
101
102    CommandResult<VoidResult> createPicklistAliasType(UserVisitPK userVisitPK, CreatePicklistAliasTypeForm form);
103
104    CommandResult<GetPicklistAliasTypeChoicesResult> getPicklistAliasTypeChoices(UserVisitPK userVisitPK, GetPicklistAliasTypeChoicesForm form);
105
106    CommandResult<GetPicklistAliasTypeResult> getPicklistAliasType(UserVisitPK userVisitPK, GetPicklistAliasTypeForm form);
107
108    CommandResult<GetPicklistAliasTypesResult> getPicklistAliasTypes(UserVisitPK userVisitPK, GetPicklistAliasTypesForm form);
109
110    CommandResult<VoidResult> setDefaultPicklistAliasType(UserVisitPK userVisitPK, SetDefaultPicklistAliasTypeForm form);
111
112    CommandResult<EditPicklistAliasTypeResult> editPicklistAliasType(UserVisitPK userVisitPK, EditPicklistAliasTypeForm form);
113
114    CommandResult<VoidResult> deletePicklistAliasType(UserVisitPK userVisitPK, DeletePicklistAliasTypeForm form);
115
116    // --------------------------------------------------------------------------------
117    //   Picklist Alias Type Descriptions
118    // --------------------------------------------------------------------------------
119
120    CommandResult<VoidResult> createPicklistAliasTypeDescription(UserVisitPK userVisitPK, CreatePicklistAliasTypeDescriptionForm form);
121
122    CommandResult<GetPicklistAliasTypeDescriptionResult> getPicklistAliasTypeDescription(UserVisitPK userVisitPK, GetPicklistAliasTypeDescriptionForm form);
123
124    CommandResult<GetPicklistAliasTypeDescriptionsResult> getPicklistAliasTypeDescriptions(UserVisitPK userVisitPK, GetPicklistAliasTypeDescriptionsForm form);
125
126    CommandResult<EditPicklistAliasTypeDescriptionResult> editPicklistAliasTypeDescription(UserVisitPK userVisitPK, EditPicklistAliasTypeDescriptionForm form);
127
128    CommandResult<VoidResult> deletePicklistAliasTypeDescription(UserVisitPK userVisitPK, DeletePicklistAliasTypeDescriptionForm form);
129
130    // --------------------------------------------------------------------------------
131    //   Picklist Aliases
132    // --------------------------------------------------------------------------------
133
134    CommandResult<VoidResult> createPicklistAlias(UserVisitPK userVisitPK, CreatePicklistAliasForm form);
135
136    CommandResult<GetPicklistAliasResult> getPicklistAlias(UserVisitPK userVisitPK, GetPicklistAliasForm form);
137
138    CommandResult<GetPicklistAliasesResult> getPicklistAliases(UserVisitPK userVisitPK, GetPicklistAliasesForm form);
139
140    CommandResult<EditPicklistAliasResult> editPicklistAlias(UserVisitPK userVisitPK, EditPicklistAliasForm form);
141
142    CommandResult<VoidResult> deletePicklistAlias(UserVisitPK userVisitPK, DeletePicklistAliasForm form);
143
144}