001package org.galaxyproject.gxformat2.v19_09; 002 003import org.galaxyproject.gxformat2.v19_09.utils.LoaderInstances; 004import org.galaxyproject.gxformat2.v19_09.utils.LoadingOptions; 005import org.galaxyproject.gxformat2.v19_09.utils.LoadingOptionsBuilder; 006import org.galaxyproject.gxformat2.v19_09.utils.SavableImpl; 007import org.galaxyproject.gxformat2.v19_09.utils.ValidationException; 008 009/** 010 * Auto-generated class implementation for <I>https://w3id.org/cwl/salad#EnumSchema</I><br> 011 * 012 * <BLOCKQUOTE> 013 * 014 * Define an enumerated type. 015 * 016 * </BLOCKQUOTE> 017 */ 018public class EnumSchemaImpl extends SavableImpl implements EnumSchema { 019 private LoadingOptions loadingOptions_ = new LoadingOptionsBuilder().build(); 020 private java.util.Map<String, Object> extensionFields_ = new java.util.HashMap<String, Object>(); 021 022 private java.util.List<Object> symbols; 023 024 /** 025 * Getter for property <I>https://w3id.org/cwl/salad#symbols</I><br> 026 * 027 * <BLOCKQUOTE> 028 * 029 * Defines the set of valid symbols. * 030 * 031 * </BLOCKQUOTE> 032 */ 033 public java.util.List<Object> getSymbols() { 034 return this.symbols; 035 } 036 037 private enum_d961d79c225752b9fadb617367615ab176b47d77 type; 038 039 /** 040 * Getter for property <I>https://w3id.org/cwl/salad#type</I><br> 041 * 042 * <BLOCKQUOTE> 043 * 044 * Must be `enum` * 045 * 046 * </BLOCKQUOTE> 047 */ 048 public enum_d961d79c225752b9fadb617367615ab176b47d77 getType() { 049 return this.type; 050 } 051 052 /** 053 * Used by {@link org.galaxyproject.gxformat2.v19_09.utils.RootLoader} to construct instances of 054 * EnumSchemaImpl. 055 * 056 * @param __doc_ Document fragment to load this record object from (presumably a {@link 057 * java.util.Map}). 058 * @param __baseUri_ Base URI to generate child document IDs against. 059 * @param __loadingOptions Context for loading URIs and populating objects. 060 * @param __docRoot_ ID at this position in the document (if available) (maybe?) 061 * @throws ValidationException If the document fragment is not a {@link java.util.Map} or 062 * validation of fields fails. 063 */ 064 public EnumSchemaImpl( 065 final Object __doc_, 066 final String __baseUri_, 067 LoadingOptions __loadingOptions, 068 final String __docRoot_) { 069 super(__doc_, __baseUri_, __loadingOptions, __docRoot_); 070 // Prefix plumbing variables with '__' to reduce likelihood of collision with 071 // generated names. 072 String __baseUri = __baseUri_; 073 String __docRoot = __docRoot_; 074 if (!(__doc_ instanceof java.util.Map)) { 075 throw new ValidationException("EnumSchemaImpl called on non-map"); 076 } 077 final java.util.Map<String, Object> __doc = (java.util.Map<String, Object>) __doc_; 078 final java.util.List<ValidationException> __errors = 079 new java.util.ArrayList<ValidationException>(); 080 if (__loadingOptions != null) { 081 this.loadingOptions_ = __loadingOptions; 082 } 083 java.util.List<Object> symbols; 084 try { 085 symbols = 086 LoaderInstances.uri_array_of_StringInstance_True_False_None.loadField( 087 __doc.get("symbols"), __baseUri, __loadingOptions); 088 } catch (ValidationException e) { 089 symbols = null; // won't be used but prevents compiler from complaining. 090 final String __message = "the `symbols` field is not valid because:"; 091 __errors.add(new ValidationException(__message, e)); 092 } 093 enum_d961d79c225752b9fadb617367615ab176b47d77 type; 094 try { 095 type = 096 LoaderInstances.typedsl_enum_d961d79c225752b9fadb617367615ab176b47d77_2.loadField( 097 __doc.get("type"), __baseUri, __loadingOptions); 098 } catch (ValidationException e) { 099 type = null; // won't be used but prevents compiler from complaining. 100 final String __message = "the `type` field is not valid because:"; 101 __errors.add(new ValidationException(__message, e)); 102 } 103 if (!__errors.isEmpty()) { 104 throw new ValidationException("Trying 'RecordField'", __errors); 105 } 106 this.symbols = (java.util.List<Object>) symbols; 107 this.type = (enum_d961d79c225752b9fadb617367615ab176b47d77) type; 108 } 109}