package com.eslint.config.schema;
public class BaseType {
public String title;
public ESLintSchema.PropertyType type;
public String description;
public BaseType() {
}
public static final String ANY_NAME = "*";
public BaseType(String title, ESLintSchema.PropertyType type, String description) {
this.title = title;
this.type = type;
this.description = description;
}
public boolean isValidValue(String value) {
return true;
}
public static boolean isBoolean(String valueStr) {
return Boolean.TRUE.toString().equals(valueStr) || Boolean.FALSE.toString().equals(valueStr);
}
public static class SchemaBoolean extends BaseType {
public SchemaBoolean() {
type = ESLintSchema.PropertyType.BOOLEAN;
}
@Override
public boolean isValidValue(String value) {
return isBoolean(value);
}
}
public static class SchemaAny extends BaseType {
public SchemaAny(String title, String description) {
super(title, ESLintSchema.PropertyType.ANY, description);
}
public SchemaAny() {
type = ESLintSchema.PropertyType.ANY;
}
}
public static class SchemaString extends BaseType {
public SchemaString() {
type = ESLintSchema.PropertyType.STRING;
}
}
}