-
Notifications
You must be signed in to change notification settings - Fork 2
/
product.go
46 lines (39 loc) · 1.17 KB
/
product.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
/*
Copyright 2017 Ontario Systems
Licensed 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.
*/
package isclib
// Product represents a particular ISC product
type Product uint
const (
// Cache is the ISC product Cache
Cache Product = iota
// Ensemble is the ISC product Ensemble
Ensemble
// Iris is the ISC product IRIS Data Platform
Iris
// None indicates that there are no ISC products
None Product = 0
)
// ParseProduct parses a string representing a ISC product into a Product.
// The default for unknown strings is Cache.
func ParseProduct(product string) Product {
switch product {
default:
return Cache
case "Cache":
return Cache
case "Ensemble":
return Ensemble
case "IDP", "IRIS":
return Iris
}
}