Files
.externalToolBuilders
config
source
cpp
java
org
alfresco
email
filesys
jcr
linkvalidation
model
repo
action
admin
attributes
audit
avm
blogIntegration
cache
clt
coci
config
configuration
content
copy
deploy
descriptor
dictionary
constraint
CompiledModel.java
DelegateModelQuery.java
DictionaryBootstrap.java
DictionaryComponent.java
DictionaryDAO.java
DictionaryDAOImpl.java
DictionaryDAOTest.java
DictionaryDeployer.java
DictionaryModelType.java
DictionaryModelTypeTest.java
DictionaryNamespaceComponent.java
DictionaryRepositoryBootstrap.java
DictionaryRepositoryBootstrapTest.java
DiffModelTest.java
M2AnonymousTypeDefinition.java
M2Aspect.java
M2AspectDefinition.java
M2Association.java
M2AssociationDefinition.java
M2ChildAssociation.java
M2ChildAssociationDefinition.java
M2Class.java
M2ClassAssociation.java
M2ClassDefinition.java
M2Constraint.java
M2ConstraintDefinition.java
M2DataType.java
M2DataTypeDefinition.java
M2Label.java
M2Model.java
M2ModelDefinition.java
M2ModelDiff.java
M2NamedValue.java
M2Namespace.java
M2NamespaceDefinition.java
M2Property.java
M2PropertyDefinition.java
M2PropertyOverride.java
M2Type.java
M2TypeDefinition.java
M2XML.java
ModelQuery.java
NamespaceDAO.java
NamespaceDAOImpl.java
RepositoryLocation.java
TestModel.java
dictionarydaotest_model.properties
dictionarydaotest_model.xml
m2binding.xml
domain
exporter
forum
i18n
importer
jscript
lock
model
module
node
ownable
policy
processor
remote
rule
search
security
service
template
tenant
transaction
usage
version
workflow
sandbox
service
tools
util
apache
queryRegister.dtd
meta-inf
test-resources
web
.classpath
.project
build.xml
alfresco-community-repo/source/java/org/alfresco/repo/dictionary/DelegateModelQuery.java
Paul Holmes-Higgin 4e2300f095 Updated copyright
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@5186 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2007-02-19 17:17:36 +00:00

173 lines
5.1 KiB
Java

/*
* Copyright (C) 2005-2007 Alfresco Software Limited.
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
* as published by the Free Software Foundation; either version 2
* of the License, or (at your option) any later version.
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
* As a special exception to the terms and conditions of version 2.0 of
* the GPL, you may redistribute this Program in connection with Free/Libre
* and Open Source Software ("FLOSS") applications as described in Alfresco's
* FLOSS exception. You should have recieved a copy of the text describing
* the FLOSS exception, and it is also available here:
* http://www.alfresco.com/legal/licensing"
*/
package org.alfresco.repo.dictionary;
import org.alfresco.service.cmr.dictionary.AspectDefinition;
import org.alfresco.service.cmr.dictionary.AssociationDefinition;
import org.alfresco.service.cmr.dictionary.ClassDefinition;
import org.alfresco.service.cmr.dictionary.ConstraintDefinition;
import org.alfresco.service.cmr.dictionary.DataTypeDefinition;
import org.alfresco.service.cmr.dictionary.PropertyDefinition;
import org.alfresco.service.cmr.dictionary.TypeDefinition;
import org.alfresco.service.namespace.QName;
/**
* Model query that delegates its search if itself cannot find the model
* item required.
*
* @author David Caruana
*
*/
/*package*/ class DelegateModelQuery implements ModelQuery
{
private ModelQuery query;
private ModelQuery delegate;
/**
* Construct
*
* @param query
* @param delegate
*/
/*package*/ DelegateModelQuery(ModelQuery query, ModelQuery delegate)
{
this.query = query;
this.delegate = delegate;
}
/* (non-Javadoc)
* @see org.alfresco.repo.dictionary.impl.ModelQuery#getPropertyType(org.alfresco.repo.ref.QName)
*/
public DataTypeDefinition getDataType(QName name)
{
DataTypeDefinition def = query.getDataType(name);
if (def == null)
{
def = delegate.getDataType(name);
}
return def;
}
/* (non-Javadoc)
* @see org.alfresco.repo.dictionary.ModelQuery#getDataType(java.lang.Class)
*/
public DataTypeDefinition getDataType(Class javaClass)
{
DataTypeDefinition def = query.getDataType(javaClass);
if (def == null)
{
def = delegate.getDataType(javaClass);
}
return def;
}
/* (non-Javadoc)
* @see org.alfresco.repo.dictionary.impl.ModelQuery#getType(org.alfresco.repo.ref.QName)
*/
public TypeDefinition getType(QName name)
{
TypeDefinition def = query.getType(name);
if (def == null)
{
def = delegate.getType(name);
}
return def;
}
/* (non-Javadoc)
* @see org.alfresco.repo.dictionary.impl.ModelQuery#getAspect(org.alfresco.repo.ref.QName)
*/
public AspectDefinition getAspect(QName name)
{
AspectDefinition def = query.getAspect(name);
if (def == null)
{
def = delegate.getAspect(name);
}
return def;
}
/* (non-Javadoc)
* @see org.alfresco.repo.dictionary.impl.ModelQuery#getClass(org.alfresco.repo.ref.QName)
*/
public ClassDefinition getClass(QName name)
{
ClassDefinition def = query.getClass(name);
if (def == null)
{
def = delegate.getClass(name);
}
return def;
}
/* (non-Javadoc)
* @see org.alfresco.repo.dictionary.impl.ModelQuery#getProperty(org.alfresco.repo.ref.QName)
*/
public PropertyDefinition getProperty(QName name)
{
PropertyDefinition def = query.getProperty(name);
if (def == null)
{
def = delegate.getProperty(name);
}
return def;
}
/* (non-Javadoc)
* @see org.alfresco.repo.dictionary.impl.ModelQuery#getAssociation(org.alfresco.repo.ref.QName)
*/
public AssociationDefinition getAssociation(QName name)
{
AssociationDefinition def = query.getAssociation(name);
if (def == null)
{
def = delegate.getAssociation(name);
}
return def;
}
/* (non-Javadoc)
* @see ModelQuery#getConstraint(QName)
*/
public ConstraintDefinition getConstraint(QName name)
{
ConstraintDefinition def = query.getConstraint(name);
if (def == null)
{
def = delegate.getConstraint(name);
}
return def;
}
}