X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=yang%2Fyang-data-impl%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fyangtools%2Fyang%2Fdata%2Fimpl%2Fschema%2Ftree%2FAlwaysFailOperation.java;h=18dae27279527613666fc1799a52fd0d292faea0;hb=5e2ee5120180b2cff62a6e8c2a2c172fbc625817;hp=5d1152caf849f6b225a924c39bfe49918ec299cc;hpb=037b7bd0575d0917d2a94906f252aa4abe68169a;p=yangtools.git diff --git a/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/tree/AlwaysFailOperation.java b/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/tree/AlwaysFailOperation.java index 5d1152caf8..18dae27279 100644 --- a/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/tree/AlwaysFailOperation.java +++ b/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/tree/AlwaysFailOperation.java @@ -1,37 +1,46 @@ +/* + * Copyright (c) 2014 Cisco Systems, Inc. and others. All rights reserved. + * + * This program and the accompanying materials are made available under the + * terms of the Eclipse Public License v1.0 which accompanies this distribution, + * and is available at http://www.eclipse.org/legal/epl-v10.html + */ package org.opendaylight.yangtools.yang.data.impl.schema.tree; - -import com.google.common.base.Optional; -import org.opendaylight.yangtools.yang.data.api.InstanceIdentifier; -import org.opendaylight.yangtools.yang.data.api.InstanceIdentifier.PathArgument; +import java.util.Optional; +import org.opendaylight.yangtools.yang.data.api.schema.tree.DataValidationFailedException; import org.opendaylight.yangtools.yang.data.api.schema.tree.spi.TreeNode; import org.opendaylight.yangtools.yang.data.api.schema.tree.spi.Version; /** - * An implementation of apply operation which fails to do anything, - * consistently. An instance of this class is used by the data tree - * if it does not have a SchemaContext attached and hence cannot - * perform anything meaningful. + * An implementation of apply operation which fails to do anything, consistently. An instance of this class is used by + * the data tree if it does not have a SchemaContext attached and hence cannot perform anything meaningful. */ -final class AlwaysFailOperation implements ModificationApplyOperation { - @Override - public Optional apply(final ModifiedNode modification, - final Optional storeMeta, final Version version) { - throw new IllegalStateException("Schema Context is not available."); +final class AlwaysFailOperation extends NonApplyDelegatedModificationApplyOperation { + static final ModificationApplyOperation INSTANCE = new AlwaysFailOperation(); + + private AlwaysFailOperation() { + } @Override - public void checkApplicable(final InstanceIdentifier path,final NodeModification modification, final Optional storeMetadata) { - throw new IllegalStateException("Schema Context is not available."); + ModificationApplyOperation delegate() { + throw ise(); } @Override - public Optional getChild(final PathArgument child) { - throw new IllegalStateException("Schema Context is not available."); + Optional apply(final ModifiedNode modification, final Optional currentMeta, + final Version version) { + throw ise(); } @Override - public void verifyStructure(final ModifiedNode modification) { - throw new IllegalStateException("Schema Context is not available."); + void checkApplicable(final ModificationPath path, final NodeModification modification, + final Optional current, final Version version) throws DataValidationFailedException { + throw ise(); + } + + private static IllegalStateException ise() { + return new IllegalStateException("Schema Context is not available."); } -} \ No newline at end of file +}