/**
*
* Copyright 2014 The Darks ORM Project (Liu lihua)
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package darks.orm.core.data;
import java.io.Serializable;
import java.lang.reflect.Method;
import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.ConcurrentMap;
public class MethodData implements Serializable
{
private static final long serialVersionUID = -9219147812448315504L;
public enum MethodEnumType
{
None, Query, OneToOne, ManyToOne, OneToMany
}
private String methodName;
private String methodSimpleName;
private ConcurrentMap<String, Integer> argumentsMap;
private transient Method method;
private MethodEnumType methodEnumType;
public MethodData()
{
argumentsMap = new ConcurrentHashMap<String, Integer>();
}
public int getArgumentIndex(String argName)
{
if (argumentsMap.containsKey(argName))
{
return argumentsMap.get(argName);
}
return -1;
}
public void addArgument(int index, String argName)
{
argumentsMap.put(argName, index);
}
public String getMethodName()
{
return methodName;
}
public void setMethodName(String methodName)
{
this.methodName = methodName;
}
public ConcurrentMap<String, Integer> getArgumentsMap()
{
return argumentsMap;
}
public void setArgumentsMap(ConcurrentMap<String, Integer> argumentsMap)
{
this.argumentsMap = argumentsMap;
}
public Method getMethod()
{
return method;
}
public void setMethod(Method method)
{
this.method = method;
}
public String getMethodSimpleName()
{
return methodSimpleName;
}
public void setMethodSimpleName(String methodSimpleName)
{
this.methodSimpleName = methodSimpleName;
}
public MethodEnumType getMethodEnumType()
{
return methodEnumType;
}
public void setMethodEnumType(MethodEnumType methodEnumType)
{
this.methodEnumType = methodEnumType;
}
}