//
//  PageBehaviorModelProtocol.swift
//  MVMCoreUI
//
//  Created by Scott Pfeil on 3/29/21.
//  Copyright © 2021 Verizon Wireless. All rights reserved.
//


public protocol PageBehaviorModelProtocol: ModelProtocol {
    
    /// The type of rule
    var behaviorName: String { get }
    
    /// If the behavior should allow multiple instances
    var shouldAllowMultipleInstances: Bool { get }
}

public extension PageBehaviorModelProtocol {
    
    var behaviorName: String {
        type(of:self).identifier
    }
    
    static var shouldAllowMultipleInstances: Bool {
        true
    }
    
    static var categoryCodingKey: String {
        "behaviorName"
    }
    
    static var categoryName: String {
        "\(PageBehaviorModelProtocol.self)"
    }
}
