diff options
author | Deniss Afonin <deniss.afonin@creative-mobile.com> | 2017-04-17 23:53:16 +0300 |
---|---|---|
committer | James E. King, III <jking@apache.org> | 2017-09-21 13:57:09 -0700 |
commit | d3cda9c2f3930b11eeda52ca32bc8f1b08f9c147 (patch) | |
tree | 4bbe0bcfd168a01e3e84b573f4f466055474a5eb /test/EnumContainersTest.thrift | |
parent | 9ffb41d94c1c48c3b2a0ce8bdbd03d8b8f97195b (diff) | |
download | thrift-d3cda9c2f3930b11eeda52ca32bc8f1b08f9c147.tar.gz |
THRIFT-3357: Generate EnumSet/EnumMap where elements/keys are enums
Client: Java
This closes #1253
Diffstat (limited to 'test/EnumContainersTest.thrift')
-rw-r--r-- | test/EnumContainersTest.thrift | 46 |
1 files changed, 46 insertions, 0 deletions
diff --git a/test/EnumContainersTest.thrift b/test/EnumContainersTest.thrift new file mode 100644 index 000000000..3b6408f45 --- /dev/null +++ b/test/EnumContainersTest.thrift @@ -0,0 +1,46 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +namespace java thrift.test.enumcontainers + +enum GreekGodGoddess { + ARES, + APHRODITE, + ZEUS, + POSEIDON, + HERA, +} + +typedef GreekGodGoddess GreekGodGoddessType +typedef i32 Power + +struct GodBean { + 1: optional map<GreekGodGoddessType, Power> power, + 2: optional set<GreekGodGoddessType> goddess, + 3: optional map<string, GreekGodGoddess> byAlias, + 4: optional set<string> images, +} + +const map<GreekGodGoddessType, string> ATTRIBUTES = +{ + GreekGodGoddess.ZEUS: "lightning bolt", + GreekGodGoddess.POSEIDON: "trident", +} + +const set<GreekGodGoddessType> BEAUTY = [ GreekGodGoddess.APHRODITE, GreekGodGoddess.HERA ] |