示例#1
0
        internal static string ChangePrefix(NamePrefixOptions from, NamePrefixOptions to, string currentName, Convention convention)
        {
            string toReturn   = currentName;
            string toPrefix   = convention.GetPrefix(to) + convention.Delimeter;
            string fromPrefix = convention.GetPrefix(from) + convention.Delimeter;

            if (from == NamePrefixOptions.Activity && to == NamePrefixOptions.Action)
            {
                throw new ConventionMisMatchException(currentName, "Cannot change activity to action");
            }
            if (from == NamePrefixOptions.Equation && to == NamePrefixOptions.Evaluator)
            {
                throw new ConventionMisMatchException(currentName, "Cannot change equation to evaluator");
            }
            if ((from == NamePrefixOptions.Evaluator || from == NamePrefixOptions.Equation) && (to == NamePrefixOptions.Activity || to == NamePrefixOptions.Action))
            {
                throw new ConventionMisMatchException(currentName, "Cannot change evaluator to action/activity");
            }
            if ((from == NamePrefixOptions.Action) && (to == NamePrefixOptions.Equation || to == NamePrefixOptions.Evaluator))
            {
                throw new ConventionMisMatchException(currentName, "Cannot change action to evaluator/equation");
            }
            if (currentName.IndexOf(fromPrefix) == -1)
            {
                throw new ConventionMisMatchException(currentName, string.Format("{0} not found in {1}", fromPrefix, currentName));
            }
            else
            {
                toReturn = currentName.Replace(fromPrefix, toPrefix);
            }
            return(toReturn);
        }
示例#2
0
        internal static string ApplyConvention(NamePrefixOptions to, string currentName, Convention convention)
        {
            string toReturn = null;

            string prefix = convention.GetPrefix(to) + convention.Delimeter;

            toReturn = prefix + currentName;

            return(toReturn);
        }
示例#3
0
        internal static string EnsureConvention(NamePrefixOptions to, string id, Convention convention)
        {
            NamePrefixOptions?match;

            if (MatchesConvention(to, id, convention))
            {
                return(id);
            }
            else if ((match = MatchesAnyConvention(id, convention)) != null)
            {
                throw new ConventionMisMatchException("id", "Already conventionalized");
            }
            else
            {
                string toCheck = convention.GetPrefix(to) + convention.Delimeter;
                return(string.Format("{0}{1}", toCheck, id));
            }
        }
示例#4
0
文件: Convention.cs 项目: mchnry/flow
 public void SetPrefix(NamePrefixOptions option, string value)
 {
     prefixes[option] = value;
 }
示例#5
0
文件: Convention.cs 项目: mchnry/flow
 public string GetPrefix(NamePrefixOptions option)
 {
     return(prefixes[option]);
 }
示例#6
0
        internal static bool MatchesConvention(NamePrefixOptions conventionToCheck, string Id, Convention convention)
        {
            string toCheck = convention.GetPrefix(conventionToCheck) + convention.Delimeter;

            return(Id.StartsWith(toCheck));
        }