/*
 ****************************************************************************
 *
 *  (c) Copyright 2013 BOE IDM. All rights reserved.
 *
 *  This software is proprietary to and embodies the confidential
 *  technology of BOE IDM. Possession, use, or copying of this
 *  software and media is authorized only pursuant to a valid written
 *  license from BOE IDM.
 *
 ****************************************************************************
 */

package com.cim.idm.wmspackage.name.management.data;

import org.apache.commons.lang3.StringUtils;

import com.cim.idm.framework.orm.info.DataInfo;
import com.cim.idm.framework.orm.info.access.FieldAccessor;

/*
 ****************************************************************************
 *  PACKAGE : com.cim.idm.mespackage.name.management.data
 *  NAME    : NameRuleAttrDef.java
 *  TYPE    : JAVA
 *  DESCRIPTION :
 *
 ****************************************************************************
 */

public class NameRuleAttrDef extends FieldAccessor implements DataInfo<NameRuleAttrDefKey>
{
	private NameRuleAttrDefKey	key;
	
	private String						sectionCategory;
	private String						sectionType;
	private long						sectionLength;
	private String						sectionValue;
	private String						exceptionalCharacter;

	public NameRuleAttrDefKey getKey()
	{
		return key;
	}

	public void setKey(NameRuleAttrDefKey key)
	{
		this.key = key;
	}

	public String getSectionCategory()
	{
		return sectionCategory;
	}

	public void setSectionCategory(String sectionCategory)
	{
		this.sectionCategory = sectionCategory;
	}

	public String getSectionType()
	{
		return sectionType;
	}

	public void setSectionType(String sectionType)
	{
		this.sectionType = sectionType;
	}

	public long getSectionLength()
	{
		return sectionLength;
	}

	public void setSectionLength(long sectionLength)
	{
		this.sectionLength = sectionLength;
	}

	public String getSectionValue()
	{
		return sectionValue;
	}

	public void setSectionValue(String sectionValue)
	{
		this.sectionValue = sectionValue;
	}

	public String getExceptionalCharacter()
	{
		return exceptionalCharacter;
	}

	public void setExceptionalCharacter(String exceptionalCharacter)
	{
		this.exceptionalCharacter = exceptionalCharacter;
	}

	public boolean isPrefixCategory()
	{
		return StringUtils.equals("Prefix", sectionCategory);
	}

	public boolean isSuffixCategory()
	{
		return StringUtils.equals("Suffix", sectionCategory);
	}

	public boolean isDelimiterCategory()
	{
		return StringUtils.equals("Delimiter", sectionCategory);
	}

	public boolean isSerialCategory()
	{
		return StringUtils.equals("Serial", sectionCategory);
	}

	public boolean isArgumentType()
	{
		return StringUtils.equals("Argument", sectionType);
	}

	public boolean isSerialType()
	{
		return StringUtils.equals("Serial", sectionType);
	}

	public boolean isSplitType()
	{
		return StringUtils.equals("Split", sectionType);
	}

	public boolean isConstantType()
	{
		return StringUtils.equals("Constant", sectionType);
	}

	public boolean isYearType()
	{
		return StringUtils.equals("Year", sectionType);
	}

	public boolean isMonthType()
	{
		return StringUtils.equals("Month", sectionType);
	}

	public boolean isDayType()
	{
		return StringUtils.equals("Day", sectionType);
	}
}
