nodemember.java

来自「Jamon是一个Java文本模板引擎」· Java 代码 · 共 89 行

JAVA
89
字号
package org.jamon.nodegen;import java.util.Arrays;import java.util.HashSet;import java.util.Set;class NodeMember{    NodeMember(String p_descriptor)    {        int index = p_descriptor.indexOf(':');        m_type = p_descriptor.substring(0, index);        if (p_descriptor.endsWith("*"))        {            m_name =                p_descriptor.substring(                    index + 1,                    p_descriptor.length() - 1);            m_isList = true;        }        else        {            m_name = p_descriptor.substring(index + 1);            m_isList = false;        }    }    public String instanceName()    {        return "m_" + m_name + (m_isList ? "s" : "");    }    public boolean isPrimative()    {        return "char".equals(m_type);    }    public String getGetter()    {        return m_isList            ? "get" + getCapitalizedName() + "s()"            : "get" + getCapitalizedName() + "()";    }    public String getCapitalizedName()    {        return m_name.substring(0, 1).toUpperCase() + m_name.substring(1);    }    public String hashCodeExpr()    {        if ("char".equals(m_type))        {            return instanceName();        }        else        {            return instanceName() + ".hashCode()";        }    }    public boolean isList()    {        return m_isList;    }    public boolean isNode()    {        return !isPrimative() && !NON_NODE_TYPES.contains(m_type);    }    public String getName()    {        return m_name;    }    public String getType()    {        return m_type;    }    private final String m_type;    private final String m_name;    private final boolean m_isList;    private final static Set<String> NON_NODE_TYPES = new HashSet<String>(            Arrays.asList("String", "org.jamon.codegen.AnnotationType"));}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?