001/*******************************************************************************
002 * Copyright 2017 The MIT Internet Trust Consortium
003 *
004 * Licensed under the Apache License, Version 2.0 (the "License");
005 * you may not use this file except in compliance with the License.
006 * You may obtain a copy of the License at
007 *
008 *   http://www.apache.org/licenses/LICENSE-2.0
009 *
010 * Unless required by applicable law or agreed to in writing, software
011 * distributed under the License is distributed on an "AS IS" BASIS,
012 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
013 * See the License for the specific language governing permissions and
014 * limitations under the License.
015 *******************************************************************************/
016
017package org.mitre.oauth2.model.convert;
018
019import javax.persistence.AttributeConverter;
020import javax.persistence.Converter;
021
022import org.mitre.oauth2.model.PKCEAlgorithm;
023
024/**
025 * @author jricher
026 *
027 */
028@Converter
029public class PKCEAlgorithmStringConverter implements AttributeConverter<PKCEAlgorithm, String> {
030
031        @Override
032        public String convertToDatabaseColumn(PKCEAlgorithm attribute) {
033                if (attribute != null) {
034                        return attribute.getName();
035                } else {
036                        return null;
037                }
038        }
039
040        /* (non-Javadoc)
041         * @see javax.persistence.AttributeConverter#convertToEntityAttribute(java.lang.Object)
042         */
043        @Override
044        public PKCEAlgorithm convertToEntityAttribute(String dbData) {
045                if (dbData != null) {
046                        return PKCEAlgorithm.parse(dbData);
047                } else {
048                        return null;
049                }
050        }
051
052}