// Path: main/java/com/viviframework/petapojo/handlers/converters/ConvertException.java
// public class ConvertException extends Exception {
// 
//     public ConvertException(String message) {
//         super(message);
//     }
// 
//     public ConvertException(String message, Throwable cause) {
//         super(message, cause);
//     }
// }
// 
// Path: main/java/com/viviframework/petapojo/handlers/converters/Converter.java
// public interface Converter<T> {
// 
//     T convert(Object val) throws ConvertException;
// }


import com.viviframework.petapojo.handlers.converters.ConvertException;
import com.viviframework.petapojo.handlers.converters.Converter;
import org.joda.time.LocalTime;
package com.viviframework.petapojo.handlers.converters.dates.joda;


/**
 * 本地时间类型转换器
 */
public class LocalTimeConverter implements Converter<LocalTime> {

    public LocalTime convert(Object val) throws ConvertException {
// Path: main/java/com/viviframework/petapojo/handlers/converters/ConvertException.java
// public class ConvertException extends Exception {
// 
//     public ConvertException(String message) {
//         super(message);
//     }
// 
//     public ConvertException(String message, Throwable cause) {
//         super(message, cause);
//     }
// }
// 
// Path: main/java/com/viviframework/petapojo/handlers/converters/Converter.java
// public interface Converter<T> {
// 
//     T convert(Object val) throws ConvertException;
// }


// Path: main/java/com/viviframework/petapojo/handlers/converters/dates/joda/LocalTimeConverter.java
import com.viviframework.petapojo.handlers.converters.ConvertException;
import com.viviframework.petapojo.handlers.converters.Converter;
import org.joda.time.LocalTime;

package com.viviframework.petapojo.handlers.converters.dates.joda;


/**
 * 本地时间类型转换器
 */
public class LocalTimeConverter implements Converter<LocalTime> {

    public LocalTime convert(Object val) throws ConvertException {
        if (val == null)