# File Name: impl_interface.py
# Modified Date: April 15, 2017
# Description: This class contains abstract behaviours.
# Method Level Comment: Java Convention (I am not certain of Python convention because there is no body for functions.)
__author__ = "Inyoung Choung"

from abc import ABCMeta, abstractclassmethod

# this class is an abstract interface
class ImplInterface(object):
    ___metaclass__= ABCMeta

    # this is abstract method to validate empty fields.
    @abstractclassmethod
    def validate_emptyfields(self): pass


    # this is abstract method to convert weight types.
    @abstractclassmethod
    def convert(self, weightT1, weightT2, weight2): pass

    # this is abstract method to calculate price.
    @abstractclassmethod
    def calculate(self): pass

    # this is abstract method to display message to user.
    @abstractclassmethod
    def display_message(self): pass

    # this is abstract method to returns result.
    @abstractclassmethod
    def get_result(self): pass

    # this is abstract method to sort a list.
    @abstractclassmethod
    def sort(self, list): pass

    # this is abstract method to write a list to a file.
    @abstractclassmethod
    def writefile(self, path, stuff_to_print): pass



