001/*
002 * JPPF.
003 * Copyright (C) 2005-2018 JPPF Team.
004 * http://www.jppf.org
005 *
006 * Licensed under the Apache License, Version 2.0 (the "License");
007 * you may not use this file except in compliance with the License.
008 * You may obtain a copy of the License at
009 *
010 *   http://www.apache.org/licenses/LICENSE-2.0
011 *
012 * Unless required by applicable law or agreed to in writing, software
013 * distributed under the License is distributed on an "AS IS" BASIS,
014 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
015 * See the License for the specific language governing permissions and
016 * limitations under the License.
017 */
018
019package org.jppf.utils.configuration;
020
021/**
022 * Implementation of {@link JPPFProperty} for {@code char} properties.
023 * @author Laurent Cohen
024 * @since 5.2
025 */
026public class CharProperty extends AbstractJPPFProperty<Character> {
027  /**
028   * Explicit serialVersionUID.
029   */
030  private static final long serialVersionUID = 1L;
031
032  /**
033   * Initialize this property with the specified name and default value.
034   * @param name the name of this property.
035   * @param defaultValue the default value of this property, used when the property is not defined.
036   * @param aliases other names that may be given to this property (e.g. older names from previous versions).
037   */
038  public CharProperty(final String name, final Character defaultValue, final String...aliases) {
039    super(name, defaultValue, aliases);
040
041  }
042
043  @Override
044  public Character valueOf(final String value) {
045    return (value == null) ? null : value.charAt(0);
046  }
047
048  @Override
049  public Class<Character> valueType() {
050    return char.class;
051  }
052}